/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Kan jeg bede og nogle gode ideer til denne~
Fra : G42


Dato : 03-01-02 16:36

Hej alle jeg er nybegynder i C-programmering.
Jeg startede på det i går. Men allerede finder jeg det meget interessant.
Jeg startede også med det gode "Hallo World" program...

Nu har jeg lavet en lille en, som omformer en mulig fahrenheit grad/tal til
Celsius..

Men jeg vil gerne udvide det lidt.

Den skal vendes om, og der skal helst være en spørgelse om
det skal være Celsius -> Fahrenheit eller Fahrenheit -> Celsius.

fx. noget med tryk C for Celsius og F for Fahrenheit.

Er der nogle gode ideer til hvordan jeg får det gjort.

Min fortløbende kode er som følger:

/* procent3.c promt fortal og beregn Celsius/Fahrenheit.*/

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main ()

{
int resultat;
int fahrenheit;

char inputlinie[800];

clrscr ();
printf("Beregning af celsius\n\n");

while (printf("Input Fahrenheit:"), fgets(inputlinie,800,stdin) !=NULL)

{
fahrenheit = atoi (inputlinie);
resultat = 5 * (fahrenheit - 32) /9;

printf("Resultat i Celsius er: %d\n\n\n", resultat);

getch ();
clrscr ();
}
return 0;
}

Venlig hilsen

Gugge



 
 
Morten Brix Pedersen (03-01-2002)
Kommentar
Fra : Morten Brix Pedersen


Dato : 03-01-02 16:52

G42 wrote:

> Hej alle jeg er nybegynder i C-programmering.
> Jeg startede på det i går. Men allerede finder jeg det meget interessant.
> Jeg startede også med det gode "Hallo World" program...
>
> Nu har jeg lavet en lille en, som omformer en mulig fahrenheit grad/tal til
> Celsius..
>
> Men jeg vil gerne udvide det lidt.
>
> Den skal vendes om, og der skal helst være en spørgelse om
> det skal være Celsius -> Fahrenheit eller Fahrenheit -> Celsius.
>
> fx. noget med tryk C for Celsius og F for Fahrenheit.
>
> Er der nogle gode ideer til hvordan jeg får det gjort.


Lav 2 funktioner, den ene funktion beregner fra C til F, den anden
beregner fra F til C.

Når bruger skriver 'C', så kalder den C->F funktionen som returnerer
værdien i fahrenheit.

Dummy kode:

if (input == "C") {
int result = toFahrenheit(input2)
printf("Resultat i Fahrenheit er: %d\n, result);
} else if (input == "F") {
int reslut = toCelcius(input2);
printf("Resultat i Celcius er: %d\n, result);
}

- Morten.


G42 (04-01-2002)
Kommentar
Fra : G42


Dato : 04-01-02 11:45


Jeg er stadig meget i tvivl.
Den laver fejl ved " if " linien. bl.a

Kan jeg ikke istedet for if, lave 2 while løkker mere, hvori den skal
springe ved tryk på "C" til toCelsius.
Og ved tryk på "F" springe til toFahrenheit.

Men jeg er meget i tvivl om hvordan jeg får den til at springe til
udregningerne..!
Følgende kode, so far:

/* procent3.c promt fortal og beregn Celsius/Fahrenheit.*/
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main ()
{
int resultat;
int fahrenheit;
int tofahrenheit;
int tocelsius;
int input;

char inputlinie[800];

clrscr ();

printf("Tryk F for Fahrenheit til Celsius\n\n");
printf("Tryk C for Celsius til Fahrenheit\n\n");

if (input == "C");
{
int resultat = toFahrenheit(input)
printf("Resultat i Fahrenheit er: %d\n, resultat);
}

printf("Beregning af celsius\n\n");

while (printf("Input Fahrenheit:"), fgets(inputlinie,800,stdin) !=NULL)

{
fahrenheit = atoi (inputlinie);
tocelsius = 5 * (fahrenheit - 32) /9;
printf("Resultat i Celsius er: %d\n\n\n", tocelsius);

}

while (printf("Input Celsius:"), fgets(inputlinie,800,stdin) !=NULL)

{
celsius = atoi (inputlinie);
tofahrenheit = ((9 * celsius)/ 5) + 32;
printf = ("/L Resultat i Fahrenheit er: %d\n\n\n", tofahrenheit);

getch ();
clrscr ();
}
return 0;
}

VH.

Gugge



Jonas Meyer Rasmusse~ (04-01-2002)
Kommentar
Fra : Jonas Meyer Rasmusse~


Dato : 04-01-02 13:31

Hejsa

"G42" <gugge@image.dk> writes:

> Jeg er stadig meget i tvivl.
> Den laver fejl ved " if " linien. bl.a

Så vidt jeg kan se har du følgende problemer:
1. du glemmer at læse ind input variablen.. du bruger den uden du har lagt noget i den.
2. du sammenligner i if sætningen input med "C"... "C" er et array af chars,
og derfor duer det ikke at sammenligne på den måde. brug istedet 'C' eller 'c'

> Kan jeg ikke istedet for if, lave 2 while løkker mere, hvori den skal
> springe ved tryk på "C" til toCelsius.
> Og ved tryk på "F" springe til toFahrenheit.
>
> Men jeg er meget i tvivl om hvordan jeg får den til at springe til
> udregningerne..!


du kan lave to funktioner, hvori du lægger koden til de to ting.

void fahr()
{
//kode til fahrenheit
}

void celc()
{
//kode til celcius
}


så kan du i din main kalde dem:

int main()
{
...
if( input == 'f' )
fahr();
else
celc();
....
}


Husk at funktionerne skal erklæres før selve main funktionen, ellers kan du ikke kalde dem.

Mvh
Jonas

Jacob Bunk Nielsen (04-01-2002)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 04-01-02 13:54

Jonas Meyer Rasmussen <meyer@grid.diku.dk> writes:

> Husk at funktionerne skal erklæres før selve main funktionen, ellers
> kan du ikke kalde dem.

Man kan nøjes med at prototype dem:

float celc(float f);
float fahr(float c);

int main() {
/* do stuff */
}

float celc(float f) {
/* ... */
}

float fahr(float c) {
/* ... */
}


P.S. auto-fill-mode er et hit i den newsreader du bruger

--
Jacob - www.bunk.cc
The best things in life are for a fee.

Anders Melchiorsen (04-01-2002)
Kommentar
Fra : Anders Melchiorsen


Dato : 04-01-02 15:29

Jacob Bunk Nielsen <spam@bunk.cc> wrote:

> Jonas Meyer Rasmussen <meyer@grid.diku.dk> writes:
>
> > Husk at funktionerne skal erklæres før selve main funktionen,
> > ellers kan du ikke kalde dem.
>
> Man kan nøjes med at prototype dem:

....hvilket er en erklæring. Hvis man sætter en krop på, er det en
definition.


> P.S. auto-fill-mode er et hit i den newsreader du bruger

Bestemt!



/Anders.

Rune Klausen (04-01-2002)
Kommentar
Fra : Rune Klausen


Dato : 04-01-02 15:17


"G42" <gugge@image.dk> wrote in message
news:eU_Y7.11445$Zm5.1085733@news000.worldonline.dk...
> /* procent3.c promt fortal og beregn Celsius/Fahrenheit.*/



du kunne også lave det sådan her, vil jeg tro, ikke fordi jeg selv har
programmeret i særlig langtid...

int farh()
{
// indtast temp. og omregning til farhenheit
}

int celc()
{
// indtast temp. og omregning til celcius
}

void main()
{
char ch;

printf("falf......");
..
..
ch = getch;
switch(ch)
{
case 'f':
farh();
break;
case 'c':
celc();
break;
case 'q':
exit(1);
default:
printf("Tryk kun på de angivede taster");
}
}

-Rune



G42 (04-01-2002)
Kommentar
Fra : G42


Dato : 04-01-02 15:56


Tak for alle jeres rigtige gode svar..(tror jeg)
Nu vil jeg lige kigge dem alle igennem, og prøve at forstå hvad det er i
mener.

Det er kanon at få hjælp når man er newbie..

Takker..

Gugge



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste