Witam, napisałem wstępnie dwa programy, jednak w jednym i drugim mam mały problem.
1.
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main ()
{
srand(time(0));
float a,b,c,w,z;
a=rand()%39+10;
b=rand()%39+10;
c=rand()%39+10;
char samochod [100];
printf("Podaj nazwe samochodu :\n");
scanf("%s",&samochod);
printf("A wynosi: %f\n",a);
printf("B wynosi: %f\n",b);
printf("C wynosi: %f\n",c);
if(a*b*c>3000)
{
z=a*b*c;
printf("Iloczyn liczb wynosi: %f\n",z);
w=a+b+c;
printf("Suma liczb wynosi: %f\n",w);
}
else
printf("Twoja nazwa samochodu: %s,&samochod");
system("PAUSE");
return 0;
}
Program ma losować 3 liczby rzeczywiste z przedziału <10,30). Z tego co nam wytłumaczyli na zajęciach odpowiada za to funkcja rand:
a=rand()%k+l;
k- liczba końcowa (k obliczamy z następującego wzoru: k=k-1+l)
l- liczba początkowa
Problem polega na tym, że wydaje się, że rand jest dobrze zadeklarowany, a losuje liczby z poza tego przedziału.
#include <stdlib.h>
#include <stdio.h>
int main ()
{
float a,b,w,z,i;
char imie [100];
char symbol [1];
printf("Podaj a :\n");
scanf("%f",&a);
printf("Podaj b :\n");
scanf("%f",&b);
printf("Podaj symbol :\n");
scanf("%s",&symbol);
switch(symbol)
{
case symbol==x:
w=a*b;
printf("Iloczyn liczb wynosi: %f\n",w);
break;
case symbol==d:
z=(a+1)/(y-1);
printf("Wyrazenie wynosi: %f\n",z);
break;
case symbol==k:
printf("Podaj imie :\n");
scanf("%s",&imie);
printf("Witaj %s,&imie");
break;
default:
break;
}
system("PAUSE");
return 0;
}
W powyższym programie mam problem z instrukcją switch. Program ma wczytywać dwie liczby rzeczywiste oraz symbol. Jeżeli symbolem jest 'x' to wyświetli iloczyn wczytanych liczb, jeżeli symbolem jest 'd' to wyświetli wartość danego wyrażenia itd...
Szczerze to nie wiem, jak użyć wspomnianej instrukcji switch, prosiłbym o wytłumaczenie na moim przykładzie.