Witam
Mam dziwny problem z funkcją scanf("%s",
Powinna ona obcinać tekst po wykryciu Białego znaku. A jednak coś jest nie tak .
Załączam początek kodu( reszta to obliczenia i działają. Problem z scanf("%s" jest taki , że po wpisaniu np. Jak Nowak program się zamyka. Szukałem co to może być i gdy dodałem funkcje getchar(); to zadziałało. Poniżej 2 kody
#include <stdio.h>
#include <string.h>
#define CALE 2.53 /*Sluzy do definiowania wlasnych stalych*/
int main(void)
{
int wzrost;
int rozmiar;
int litery;
float wynik;
char nazwa[60];
printf("Podaj imie:\n");
scanf("%s", nazwa);
printf("%s, podaj wzrost w centymetrach:\n", nazwa);
Kod działający dla nazwiska 5 literowego np. Jan Nowak
printf("Podaj imie:\n");
scanf("%s", nazwa);
getchar();
getchar();
getchar();
getchar();
getchar();
printf("%s, podaj wzrost w centymetrach:\n", nazwa);
Używając poniższej formuły też nic sie nie zmienia
scanf("%s ", nazwa);
Chodzi o to, że muszę dac tyle getchar(); ile liter ma nazwisko! Czyli tak jakby funkcja scanf("%s" pobierała dane po spacji a nie powinna. 2 lata temu przerabiałem to ćwiczenie na tym samym Visual Studio 2010 i działało(potem zarzuciłem naukę i teraz wracam do tego). Co to może być? Jedyne co się zmieniło to windows na 8.1
Pozrawiam
Piotrek