Habe ein Problem bei einer "einfachen" Rechnerprogrammierung
-
Moin,
ich fange grade an mir C beizubringen und habe mir vorgenommen, einen kleinen Rechner zu basteln, der addiert, subtrahiert, multipliziert und dividiert mit Integer-Werten.
Mein Problem ist, ich kann eine Zahl einlesen, aber die ANchfrage nach der 2ten zahl wird nicht mehr aufgerufen und das Programm beendet sich sofort nach dem Durchlauf.
Mein Quelltext sieht momentan so aus:#include <stdio.h> int main () { int x,y,xneu,yneu,multi,divi,add,sub; printf ("zahl1 eingeben\n"); //zahl1 =x scanf ("&d",x); xneu = x; printf ("zahl2 eingeben\n"); //zahl 2 = y scanf ("&d",y); yneu = y; multi = x*y; //rechenabschnitt add= x+y; sub=x-y; divi=x/y; printf ("Ergebnisse\n"); //ausgabe printf ("addition: &d\n", add ); printf ("subtraktion: &d\n", sub) ; printf ("Multiplikation: &d\n", multi ); printf ("Division: &d\n", divi); getchar (); return (0); }
wo liegt der Fehler?
EDIT: Mein betreibssystem ist Windows Vista.
-
Kleine Änderungen bei den & bzw. % - Zeichen.
Damit Du die Ergebnisse Deines Programmes auch betrachten kannst, starte es aus der Konsole!#include <stdio.h> int main () { int x,y,xneu,yneu,multi,divi,add,sub; printf ("zahl1 eingeben\n"); //zahl1 =x scanf ("%d",&x); xneu = x; printf ("zahl2 eingeben\n"); //zahl 2 = y scanf ("%d",&y); yneu = y; multi = x*y; //rechenabschnitt add= x+y; sub=x-y; divi=x/y; printf ("Ergebnisse\n"); //ausgabe printf ("addition: %d\n", add ); printf ("subtraktion: %d\n", sub) ; printf ("Multiplikation: %d\n", multi ); printf ("Division: %d\n", divi); getchar (); return (0); }
-
alles klar, danke, jetzt funktionierts
-
So neues Problem, ich hangel mich grade an aufgabenstellungen entlang:
Die Aufgabe ist folgenden Algorithmus zu programmieren:
Starte mit 2 Variablen, die beie 1 sind x und y).
DIe Multiplikation der Variablen addiert mit der ADdition der Variablen ergibt eine Primzahl (x*y + x+y). mache dies solange, bis die Primzahl > 1.000.000 wird.Mein Quelltext sieht bisher so aus:
#include <stdio.h> #include <stdlib.h> int main () { int x,y,mult,add, prim; x=1; //start int y=1; do { add=x+y; // add und mult mult=x*y; prim = add + mult; // neue Primzahl x=y; // übergabe variablen y=prim; printf ("%d\n",&prim); } while (prim < 1000000); system ("PAUSE"); return 0; }
Das problem ist, das programm gibt mir nur 3 zeilen mit der gleichen zahl aus, 2293556. ist der Integer Raum nicht groß genug oder habe ich einen Schnitzer eingebaut?
-
Das & hat da nichts zu suchen.
edit: Und wundere dich nicht, wenn da keine Primzahlen rauskommen. Wo hast du die Aufgabe her?
-
Bei Zeile 29 haste eine Speicherzuweisung mit & auf prim, entferne mal das "&"
-
Alles klar, ich bin noch nicht so fit mit den Speicher zuweisungen.
Die Aufgabe habe ich aus einem uralt-übungsheft von meinem Vater, anno1997 ziemlich zerfleddert das ganze ding.