marvellous
Mitglied
#include <stdlib.h>
#include <stdio.h>
int umwandler(char *s)
{ int i=0,n=0,sign;
while(*(s+i)==' ')i++; // ueberlese fuehrende BLANC
sign=(*(s+i)=='-')? -1 : 1; // bestimme Vorzeichen
if((*(s+i)=='+') || (*(s+i)=='-')) i++;
do
{
n= n*10 + *(s+i)-'0';
i++;
}
while(('0'<=*(s+i)) && (*(s+i)<='9'));
return n*sign;
}
int main()
{
char t[30];
printf("Geben Sie eine Rechnung mit 2 Zahlen ein: ");
scanf("%s",&t);
printf("Das Ergebnis ist: %d \n", umwandler(t));
system ("pause");
return 0;
}
so also wenn ich ne negative zahl eingebe dann bekomm ich diese jetzt auch raus. das war die 1. aufgabe
jetzt muss ich einen taschenrechner programmieren mit dieser funktion.
meine idee ist es wenn der benutzer z.b. " 5+5" eingibt das dann dieses plus ausgelesen wird und dann die summe draus bildet :S aber ich weiß nicht so recht wie ich das angehen soll..kann mir vielleicht jemand auf die sprünge helfen?
und dann vielleicht noch mit switch und case
/*
switch(*t)
{
case('+'):
printf("Ergebnis: %d", zahl1 + zahl2);
break;
case('-'):
printf("Ergebnis: %d", zahl1 - zahl2);
break;
}
*/
#include <stdio.h>
int umwandler(char *s)
{ int i=0,n=0,sign;
while(*(s+i)==' ')i++; // ueberlese fuehrende BLANC
sign=(*(s+i)=='-')? -1 : 1; // bestimme Vorzeichen
if((*(s+i)=='+') || (*(s+i)=='-')) i++;
do
{
n= n*10 + *(s+i)-'0';
i++;
}
while(('0'<=*(s+i)) && (*(s+i)<='9'));
return n*sign;
}
int main()
{
char t[30];
printf("Geben Sie eine Rechnung mit 2 Zahlen ein: ");
scanf("%s",&t);
printf("Das Ergebnis ist: %d \n", umwandler(t));
system ("pause");
return 0;
}
so also wenn ich ne negative zahl eingebe dann bekomm ich diese jetzt auch raus. das war die 1. aufgabe

meine idee ist es wenn der benutzer z.b. " 5+5" eingibt das dann dieses plus ausgelesen wird und dann die summe draus bildet :S aber ich weiß nicht so recht wie ich das angehen soll..kann mir vielleicht jemand auf die sprünge helfen?
und dann vielleicht noch mit switch und case
/*
switch(*t)
{
case('+'):
printf("Ergebnis: %d", zahl1 + zahl2);
break;
case('-'):
printf("Ergebnis: %d", zahl1 - zahl2);
break;
}
*/