brauche hilfe c anfänger.....
-
Da ja in der Aufgabe was von Schleife steht, denke ich der Source mit
math.h
ist hier nicht gefragtAber das nur aus der zugegebenermassen trüben Kristallkugel
-
Mal darüber nachgedacht: 'Potenzieren heisst mehrfaches Multiplizieren auf einer gegebenen Basis'? Hat mit einer Programmiersprache wie C wenig zu tun! :p
-
berniebutt schrieb:
Mal darüber nachgedacht: 'Potenzieren heisst mehrfaches Multiplizieren auf einer gegebenen Basis'?
Das hängt von den Typen ab, für die du sie definieren möchtest.
-
danke für die antworten. mein programm läuft jetzt. doch wie kann ich die ausgegebenen ergebnisse in einer datei auf dem rechner speichern?
-
noobLolo schrieb:
huch das darf natürlich in der sammlung nicht fehlen
http://www.cplusplus.com/reference/clibrary/cstdio/fprintf/lg lolo
hast da überhaupt mal nen blick reingeworfen oder hat dich die tabelle am anfang abgeschrekt
lg lolo
-
reingeguckt schon aber ich raff es echt net
-
dann zeig doch mal was du aus dem beispiel gemacht hast...
-
vllt ein bisschen umstädnlich aber naja macht was ich will...
#include <stdio.h> // Bibliothek
#include <stdlib.h> // Bibliothekint main(int argc, char *argv?)
{
int Hoch ,Ausgabe ,Eingabe; // Deklarationprintf("Bitte geben Sie eine Hoch-Zahl ein : "); // Ausgabe
scanf("%d",&Hoch); //Auslesung der Daten
Ausgabe=pow(2,Hoch); // Rechnung 2 Hoch n
printf("Das Ergebis betraegt: %d\n",Ausgabe); // Ausgabe des Ergebnissesprintf("\nDas Program nochmal starten?\nWenn ja eine 1 eingeben, wenn nicht eine andere Zahl eingeben .\nEingabe:",Eingabe); // Ausgabe Programm nochmal starten? Eingabe 1 oder andere Zahl
scanf("%d",&Eingabe); // Auslesung der Daten
while(Eingabe==1) // Wenn Eingabe = 1 Programm startet neu. Wenn eine andere Zahl eingegeben wird ist das Programm zu Ende(while-Schleife)
{
printf("Bitte geben Sie eine Hoch-Zahl ein : ");
scanf("%d",&Hoch);
Ausgabe=pow(2,Hoch);
printf("Das Ergebis betraegt: %d\n",Ausgabe);printf("\nDas Program nochmal starten?\nWenn ja eine 1 eingeben, wenn nicht eine andere Zahl eingeben .\nEingabe:",Eingabe); // Eingabe
scanf("%d",&Eingabe); // Auslesung der Daten
}printf("\nDas Program ist zu Ende!\n"); // Ausgabe Programm Ende
system("PAUSE");
return 0;
}
-
miokay schrieb:
vllt ein bisschen umstädnlich aber naja macht was ich will...
...Mach's lieber so, dann funktioniert's auch:
#include <stdio.h> #include <math.h> int read_int(int *p) { int c, count = scanf("%d", p); while ((c = getchar()) != '\n') ; return count; } int main(void) { int Hoch, Ausgabe, Eingabe; do { do printf("Bitte geben Sie eine Hoch-Zahl ein: "); while (read_int(&Hoch) < 1); Ausgabe = pow(2, Hoch); printf("Das Ergebis betraegt: %d\n", Ausgabe); do printf("Das Program nochmal starten?\n" "Wenn ja eine 1 eingeben, wenn nicht eine andere Zahl " "eingeben.\n" "Eingabe: "); while (read_int(&Eingabe) < 1); } while (Eingabe == 1); printf("\nDas Program ist zu Ende!\n"); return 0; }
Jetzt musst du nur noch herausfinden, wie man Dateien schreibt. Lies mal hier weiter:
http://www.java2s.com/Code/C/File/Openafilehowtousefopen.htmWahrscheinlich willst du aber fprintf() statt fputs() verwenden.
-
miokay schrieb:
danke für die antworten. mein programm läuft jetzt. doch wie kann ich die ausgegebenen ergebnisse in einer datei auf dem rechner speichern?
Dafür brauchst du eine Datei, in die die Ergebnisse hineingeschrieben werden. In ANSI-C ist das etwas umständlich gelöst. In C++ sehr viel einfacher mit den dort verfügbaren stream-Klassen. Allein diese Aufgabe könnte den Einstieg nach C++ lohnen.
-
Und wenn du es doch lieber in einer Schleife berechnen willst:
...
int ergebnis = 1; printf("Bitte Hochzahl angeben: "); scanf("%d", &potenz); for ( i = 1 ; i <= potenz ; i++) { ergebnis = ergebnis * 2; } printf("2 hoch %d ergibt: %d \n", potenz, ergebnis);
...