Skocz do zawartości


Zdjęcie

[c] switch problem


  • Zaloguj się, aby dodać odpowiedź
3 odpowiedzi w tym temacie

#1 lightinside

lightinside

    Początkujący

  • 44 postów

Napisano 03 12 2012 - 01:26

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main() {

int l;
printf("podaj co chcesz obliczyc dla silni wcisnij 1 dla rownania kwadratowego 2 dla potegi 3");
scanf("%d,l");

switch(l)
{
/*case'1':
;
break;*/

case'2':
{
  double  a, b, c,
          delta;

  printf(" Podaj wspolczynniki a, b, c < ");
  scanf("%lf %lf %lf", &a, &b, &c);

  if ( a == 0 )
    if ( b == 0 )
      if ( c == 0)
        printf(" Rownanie nieoznaczone.\n ");
      else
        printf(" Rownanie nie ma rozwiazania.\n");
    else{
      printf(" Rownanie ma jedno");
      printf(" rozwiazanie: %.2f\n ", -c/b);
    }
  else{
    delta = b*b - 4*a*c;
    if ( delta < 0 )
      printf(" Rownanie nie ma rozwiazania.\n ");
    else{
      printf(" Rownanie ma dwa rozwiazania:\n ");
      printf("x1 = %.2f, x2 = %.2f",
             (-b-sqrt(delta))/(2*a),(-b+sqrt(delta))/(2*a));
    }
  }
;
break;

/*case'3':
;
break;*/

default:
printf("podales zla liczbe");
break;





}
return 0;
}}

gdzie mam błąd?

  • 0

#2 fernandez

fernandez

    150% normy

  • 1 866 postów

Napisano 03 12 2012 - 14:09

Po pierwsze do znaków używaj char.
Po drugie zapomniałeś o "&" w scanfie.
char l;
(...)
scanf("%c\n,&l");
(...)

A trzecia sprawa to moga byc problemy z wczytywaniem takich znakow (po enterze). Lepiej wczytać jako string (albo char[]) i samemu wtedy sprawdzac znak.


@MarcoMarc:
racja nie pomyślałem o tej opcji (pewno z przyzwyczajenia)

Użytkownik fernandez edytował ten post 03 12 2012 - 15:35

  • 0

#3 MarcoMarc

MarcoMarc

    Początkujący

  • 109 postów

Napisano 03 12 2012 - 14:25

Chyba chciał wczytać liczbę skoro dał int'a ;)

scanf ("%d",&l);
switch(l)
{
case 1:
{

Użytkownik MarcoMarc edytował ten post 03 12 2012 - 14:26

  • 0

#4 lightinside

lightinside

    Początkujący

  • 44 postów

Napisano 06 12 2012 - 12:39

Dzięki;) zdążyłam już sobie z tym poradzić;).

  • 0

Zobacz więcej tematów z tagiem: język C



Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych