Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2007-04-29 22:29:32

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

problem podczas wykonania programu [C]

mam prosciutki programik z instrukcja IF:

#include<stdio.h>

int main(){
    int k;

    printf("ttttttZastosowanie instrukcji "if"nn");

    printf("Podaj liczbe z zakresu od 1 do 5: ");
    scanf("%i", k);
    printf("Sprawdzam poprawnosc wprowadzonych danychn");
    if(k==1 || k==2 || k==3 || k==4 || k==5){
        printf("Wprowadzona przez Ciebie liczba to: %in",k);}
    else{
        printf("Podana liczba jest z poza zakresu");}
return 0;
}

podczas wykonania gdy podam liczbe wywala mi komunikat: Naruszenie  ochrony pamieci
tylko ciekawi mnie czym?? ja ten program ma tylko porownac k z liczba w if'e


LRU #480459

Offline

 

#2  2007-04-29 23:24:32

  Lorenzo - Moderator

Lorenzo
Moderator
Zarejestrowany: 2005-12-23

Re: problem podczas wykonania programu [C]

Pierdólkę najgorzej znaleźć ;-)
Powinno być tak:

Kod:

scanf("%i", &k); 

Offline

 

#3  2007-04-29 23:36:05

  BiExi - matka przelozona

BiExi
matka przelozona
Skąd: Gorlice
Zarejestrowany: 2004-04-16
Serwis

Re: problem podczas wykonania programu [C]

raczej

Kod:

scanf("%d", &k); 

kiedys sie zabralam za isanie kursu oto on

http://biexi.dug.net.pl/c.rtf

minnymi masz tam podane specyfikatory konwersji

PS
if(k==1 || k==2 || k==3 || k==4 || k==5)

nie latwiej
if(k>=1 && k<=5)

Offline

 

#4  2007-04-29 23:44:51

  Lorenzo - Moderator

Lorenzo
Moderator
Zarejestrowany: 2005-12-23

Re: problem podczas wykonania programu [C]

W sumie racja, ale z %i też działa i nawet gcc z flagami -Wall -Werror i -pedantic nic się nie pluje. Kochane C :-)

Offline

 

#5  2007-04-29 23:48:47

  BiExi - matka przelozona

BiExi
matka przelozona
Skąd: Gorlice
Zarejestrowany: 2004-04-16
Serwis

Re: problem podczas wykonania programu [C]

a zeby juz profesjonalnie bylo to polecam

Kod:

#include <stdio.h>

#define ZMIN 1
#define ZMAX 5

int main()
{

 int k;
 printf("ttttttZastosowanie instrukcji "if"nn");
 printf("Podaj liczbe z zakresu od 1 do 5: ");

 scanf("%d", &k);
 printf("Sprawdzam poprawnosc wprowadzonych danychn");
 
  if(k >= ZMIN && k <= ZMAX)
   {
       printf("Wprowadzona przez Ciebie liczba to: %in",k);
   }
  else
   {
       printf("Podana liczba jest z poza zakresu");
   }
 return 0;
}

Offline

 

#6  2007-04-30 10:35:16

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: problem podczas wykonania programu [C]


PS
if(k==1 || k==2 || k==3 || k==4 || k==5)

nie latwiej
if(k>=1 && k<=5)

masz racje ale mnie chodzi o lopatologie ;)

i dzieki za podpowiedz :)


LRU #480459

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)