| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | 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
 
 
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |