Praca programu od nowa

Odpowiedz Nowy wątek
2015-01-03 12:05
0

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.

Pozostało 580 znaków

2015-01-03 12:15
0

Potwierdzam, trzeba użyć pętli. Najwygodniej while lub do..while.


Na PW przyjmuje tylko (ciekawe!) zlecenia. Masz problem? Pisz na forum, nie do mnie.

Pozostało 580 znaków

2015-01-03 12:36
0

własnie nie wiem zbytnio jak to zapisać, tzn warunki kiedy ma liczyć dalej a kiedy skończyć pracę programu. dobrze będzie zapisać to na końcu? po policzeniu pierwiastków równania?

Pozostało 580 znaków

2015-01-03 12:43
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;
    }
}

http://ideone.com/3JNUTB

edytowany 1x, ostatnio: spartanPAGE, 2015-01-03 12:52
surprise... ;] - Shalom 2015-01-03 12:51
Łoj tam, poranny inglisz :D - spartanPAGE 2015-01-03 12:52

Pozostało 580 znaków

2015-01-03 14:10
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, 2015-01-03 14:23

Pozostało 580 znaków

2015-01-03 14:24
0

Pokaż jak dodałeś pętlę.


Na PW przyjmuje tylko (ciekawe!) zlecenia. Masz problem? Pisz na forum, nie do mnie.

Pozostało 580 znaków

2015-01-03 14:59
0

Radzę zapoznać się z pojęciem formatowania kodu.
Bez tego poprawne dodanie do kodu pętli, warunku lub czegokolwiek innego zawsze będzie graniczyć z cudem.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

2015-01-03 15:01
0

daj caly program w petle do ... while (//sprawdzenie czy zmienna w ktorej zapisywany jest przycisk == temu znakowi ktory wybrales jako zakonczenie programu)

Pozostało 580 znaków

2015-01-03 17:23
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;
} 

Pozostało 580 znaków

2015-01-03 17:28
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, 2015-01-03 18:15

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0