wiem, że z=pewnie coś banalnego, lecz mam wielkie braki w programowaniu z c. mam program, który liczy pierwiastki trójmianu i po policzeniu chcę żeby pytał czy ma liczyć pierwiastki nastepnej funkcji, lecz nie wiem jak to napisać. domyślam się, że trzeba użyć pętli etc.

- Rejestracja:około 21 lat
- Ostatnio:prawie 3 lata
- Lokalizacja:Space: the final frontier
- Postów:26433
0
Potwierdzam, trzeba użyć pętli. Najwygodniej while lub do..while.

- Rejestracja:prawie 12 lat
- Ostatnio:5 dni
1
#include <iostream>
#include <string>
using namespace std;
#define HUH 0
int main(){
PROGRAMMING_BY_THE_HARD_WAY:
string choice;
/* your program */
cin >> choice;
if((choice == "surprise")? !HUH : HUH){
cout << "Surprise, mothafucka." << endl;
goto PROGRAMMING_BY_THE_HARD_WAY;
}
}
edytowany 1x, ostatnio: spartanPAGE
- Rejestracja:około 10 lat
- Ostatnio:około 10 lat
- Postów:4
0
coś mi nie chce szaleć ta pętla, błędy w kompilowaniu. mój program bez tej pętli działa dobrze, jego kod bez tej ostatniej pętli :
#include <stdio.h>
#include <math.h>
int main()
{
double a,b,c;
double delta,x1,x2;
printf("Podaj a \n");
scanf("%lf",&a);
if(a==0)
{
printf(" Wspolczynnik a nie moze byc 0 \n");
}
else {
printf("Podaj b\n");
scanf("%lf",&b);
printf("Podaj c\n");
scanf("%lf",&c);
delta=((b*b)-(4.0*a*c));
if(delta>0)
{
x1=(-b+sqrt(delta))/(2.0*a);
x2=(-b-sqrt(delta))/(2.0*a);
printf("x1=%lf, x2=%lf", x1, x2);
printf(" \n");
}
else if(delta==0){
x1=(-b/(2.0*a));
printf("x1=%lf", x1);
}
else if(delta<0)
printf("Rownanie nie ma pierwiastkow \n");
}
printf("Czy chcesz policzyc pierwiastki kolejnego trojmianu? \n");
return 0;
}
edytowany 1x, ostatnio: Shalom

- Rejestracja:około 21 lat
- Ostatnio:prawie 3 lata
- Lokalizacja:Space: the final frontier
- Postów:26433
0
Pokaż jak dodałeś pętlę.
- Rejestracja:około 10 lat
- Ostatnio:około 10 lat
- Postów:4
0
Próbowałem czegoś takiego, niestety dalej błąd bo po prostu po policzeniu pierwiastków się wyłącza.
#include <stdio.h>
#include <math.h>
int main()
{
printf("Program liczy pierwiastki funkcji kwadratowej \n");
int a,x;
do
{
double a,b,c;
double delta,x1,x2;
printf("Podaj a \n");
scanf("%lf",&a);
if(a==0)
{
printf(" Wspolczynnik a nie moze byc 0 \n");
}
else {
printf("Podaj b\n");
scanf("%lf",&b);
printf("Podaj c\n");
scanf("%lf",&c);
delta=((b*b)-(4.0*a*c));
if(delta>0)
{
x1=(-b+sqrt(delta))/(2.0*a);
x2=(-b-sqrt(delta))/(2.0*a);
printf("x1=%lf, x2=%lf", x1, x2);
printf(" \n");
}
else if(delta==0){
x1=(-b/(2.0*a));
printf("x1=%lf", x1);
}
else if(delta<0)
printf("Rownanie nie ma pierwiastkow \n");
}
printf("Jesli chcesz zakonczyc prace programu jako wspolczynnik a wpisz 'x' \n");
}
while(a=x);
return 0;
}
- Rejestracja:około 11 lat
- Ostatnio:prawie 7 lat
- Postów:99
0
Do porównywania używamy operatora ==. Po drugie tworzysz dwie zmienne o tej samej nazwie (niechcąco), a jeśli chcesz sprawdzić czy użytkownik podał 'x' to użyj typu char. Może coś w ten deseń:
#include <stdio.h>
#include <math.h>
int main()
{
printf("Program liczy pierwiastki funkcji kwadratowej \n");
char answer;
do
{
double a,b,c,delta,x1,x2;
printf("Podaj a\n"); scanf("%lf",&a);
if (a==0)
printf("Wspolczynnik a nie moze byc 0 \n");
else
{
printf("Podaj b\n"); scanf("%lf",&b);
printf("Podaj c\n"); scanf("%lf",&c);
delta=((b*b)-(4.0*a*c));
if (delta>0)
{
x1=(-b+sqrt(delta))/(2.0*a);
x2=(-b-sqrt(delta))/(2.0*a);
printf("x1=%f, x2=%f\n", x1, x2);
}
else if (delta==0)
{
x1=(-b/(2.0*a));
printf("x1=%f\n", x1);
}
else
printf("Rownanie nie ma pierwiastkow \n");
}
printf("Podaj \'x\' jesli program ma sie zakonczyc: "); getchar();
scanf("%c", &answer);
}while (answer != 'x');
return 0;
}
edytowany 9x, ostatnio: KazikWielki
Shaloms
e... ;]karolinaa