c++
Metis: C++
Jak najszybciej i efektowniej zajrzeć do pojemnika w którym przechowywany jest znak i sprawdzić
czy jest to znak czy też liczba?
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
char dane[4];
int main()
{
for (int i = 0; i < 4; i++)
{
cout << "Podaj znak: "<<i+1 << endl;
cin >> dane[i];
}
getch();
}
I teraz muszę określić co znajduje się(liczba czy znak) w pojemniku dane[0], dane[1] itd...
4 gru 17:55
Metis: #include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
char dane[4];
int litery = 0, cyfry=0;
int main()
{
for (int i = 0; i < 4; i++)
{
cout << "Podaj znak: "<<i+1 << endl;
cin >> dane[i];
}
for (int i = 0; i < 4; i++)
{
if ((dane[i] >= 'A') && (dane[i] <= 'Z') || (dane[i] >= 'a') && (dane[i] <= 'z')) litery++;
else if ((dane[i] >= '1') && (dane[i] <= '9')) cyfry++;
}
cout << "Podales " << litery << " liter."<<endl;
cout << "Podales " << cyfry << " cyfr" << endl;
getch();
}
Można to napisać lepiej?
4 gru 18:03
Saizou :
albo skorzystaj z funkcji isdigit , islower, idupper
4 gru 18:03
Gaunt:
4 gru 18:04
Metis:
4 gru 18:05
Metis: Pierwsze słyszę o takich funkcjach
Saizou
4 gru 18:05
52: #include <iostream>
#include <conio.h>
using namespace std;
char dane[4];
int litery = 0, cyfry=0;
int main()
{
for (int i = 0; i < 4; i++)
{
cout << "Podaj znak: "<<i+1 << endl;
cin >> dane[i];
}
for (int i = 0; i < 4; i++)
{
if ((dane[i] >= '1') && (dane[i] <= '9')) cyfry++;
else litery++;
}
cout << "Podales " << litery << " liter."<<endl;
cout << "Podales " << cyfry << " cyfr" << endl;
getch();
}
4 gru 18:52
Charlie_wykałaczka: Czytam i zastanawiam się co masz na myśli przez 'pojemnik. Patrzę na kod i widzę tablice czarów
4 gru 19:41
Alky: "Jak najszybciej i efektowniej zajrzeć do pojemnika w którym przechowywany jest ZNAk i
sprawdzić
czy jest to ZNAK czy też liczba?" rozumiem ze chodziło zeby sprawdić czy jest to litera lub
cyfra
Generalnie
bool isalphla(char znak) przyjmuje false/true jesli nie jest/jest literą
bool isdigit(char znak) przyjmuje false/true jesli nie jest / jest cyfrą
4 gru 21:07
Alky: #include <cstdio>
#include <iostream>
#include <conio.h>
using namespace std;
char dane[4];
int litery = 0, cyfry=0;
int main()
{
for (int i = 0; i < 4; i++)
{
cout << "Podaj znak: "<<i+1 << endl;
cin >> dane[i];
}
for (int i = 0; i < 4; i++)
{
if (isalpha(dane[i])) litery++;
else if (isdigit(dane[i])) cyfry++;
}
cout << "Podales " << litery << " liter."<<endl;
cout << "Podales " << cyfry << " cyfr" << endl;
getch();
}
Tak to wygląda w CodeBlocks z tymi funkcjami. Jak robisz w VS to zmień bibliotekę. Znacznie
krócej . Chyba nic nie pomyliłem
4 gru 21:36
Dziadek Mróz:
Te dwie funkcje odwołują się do tablicy ASCII:
isalpha(ch):
return (ch >= 'A' and ch <= 'A') or (ch >= 'a' and ch <= 'z')
isdigit(ch):
return (ch >= '0' and ch <= '9')
5 gru 06:41
5 gru 06:42
Metis: Dzięki!
5 gru 13:12
olekturbo: co slychac Metis
na jakim poziomie teraz jestescie w cpp
5 gru 17:07
...: Bardzo niskim z tego co widać...
5 gru 17:36
Lorak: Każdy kiedyś zaczynał.
5 gru 18:07
Metis: Siemka
olek
Leci, teraz okres kolokwiów, ale jest w miarę dobrze− nie narzekam
Jak Tobie upływa czas?
CPP − "bardzo niskim"
5 gru 18:40
olekturbo: Dobrze, głównie matma − dowody i programowanie − C i Bash
6 gru 23:06
Metis:
6 gru 23:08
52: Uwielbiam takie komentarze : "Bardzo niskim z tego co widać..."
Nikt nie pamięta jak się zaczynało... a szkoda
7 gru 00:15
Metis: Też je uwielbiam
Zawiść ludzi, że ktoś może być na takim samym poziomie i osiągnać jeszcze
więcej od nich samych jest niesamowita
7 gru 00:17