Avatar billede amnesia5230 Nybegynder
29. januar 2008 - 12:15 Der er 3 kommentarer

Udskrift af resultat til tekstfil

Jeg sidder med et lille regneprogram, som jeg har kodet. Jeg ønsker så at udskrive resultatet af udregningen til en tekstfil. Man indtaster først selve regnestykket, hvorefter den udskriver resultatet. Hvordan får man skrevet til en tekstfil samtidig med det bliver vist på skærmen? Min kode er som følger:

/* En lille regnemaskine, hvor det er muligt at l‘gge til, tr‘kke fra, */
/* gange og dividere. Regnemaskinen fungerer, indtil man slukker den */

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

int ja_eller_nej()
{
  char ch;
  flushall();
  printf("\nVil du regne endnu et stykke? (JA/NEJ):");
  scanf("%c", &ch);
  flushall();
  if(ch=='j')
    return 1;
  else
    return 0;
}

void main()
{
  float tal1, tal2;
  char operator;
  int fortsaet;
 

  nyt_stykke;
  printf("\nSkriv regnestykke: ");
  scanf(" %f %c %f", &tal1, &operator, &tal2);
  switch(operator)
  {
  case '+':
    printf("%g %c %g = %g", tal1, operator, tal2, tal1 + tal2);
    break;
  case '-':
      printf("%g %c %g = %g", tal1, operator, tal2, tal1 - tal2);
    break;
  case 'x':
  case '*':
    printf("%g %c %g = %g", tal1, operator, tal2, tal1 * tal2);
    break;
  case '/':
    printf("%g %c %g = %g", tal1, operator, tal2, tal1 / tal2);
    break;
  default:
    printf("Brug kun operatorerne +, -, * og /")
}
fortsaet = ja_eller_nej();
if(fortsaet)
    goto nyt_stykke;
}
Avatar billede oddi Nybegynder
29. januar 2008 - 13:45 #1
Et lille råd: dont use goto... brug while eller noget lignenede.
Avatar billede arne_v Ekspert
29. januar 2008 - 15:18 #2
Udskriv det to gange: en gang med printf og en gang med fprintf !

syntax:

FILE *fp = fopen("foobar.txt", "w");
fprintf(fp, "%s %d\n", s, i);
fclose(fp);
Avatar billede amnesia5230 Nybegynder
30. januar 2008 - 13:15 #3
Jeg fik det til at fungere igår. Det var smart af mig at oprette et spørgsmål herinde og først bagefter kigge i HELP i Turbo C++ programmet - der var et godt eksempel. Ellers tak for hjælpen, jeg må prøve at bruge en while løsning - hvis du mener det er smartere oddi - men nu fungerer det hele i hvert fald :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester