Я нуждаюсь в том, чтобы сделать программу, в которую пользователь вводил бы Ваше полное имя, Ваш возраст, и которую печатал бы на экране:
"Сеньор" назвал "Ваш возраст -" возраст
Я изучаю цепь символов, но не знаю очень хорошо, как использовать их.
Код C ++:
#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
main()
{
int edad;
char nombre[50];
cout<<"ingrese nombre \n";
cin>>nombre;
gets(nombre);
cout<<"ingrese edad \n";
cin>>edad;
if (edad>=0&&edad<=9){ cout<<nombre<<" su piso es 0 \n"; }
if (edad>9&&edad<=19){ cout<<nombre<<" su piso es 1 \n"; }
if (edad>19&&edad<=29){ cout<<nombre<<" su piso es 2 \n"; }
if (edad>29&&edad<=39){ cout<<nombre<<" su piso es 3 \n"; }
if (edad>39&&edad<=49){ cout<<nombre<<" su piso es 4 \n"; }
if (edad>49&&edad<=59){ cout<<nombre<<" su piso es 5 \n"; }
if (edad>59&&edad<=69){ cout<<nombre<<" su piso es 6 \n"; }
if (edad>69&&edad<=79){ cout<<nombre<<" su piso es 7 \n"; }
getch();
}
Спасибо за решение моей проблемы, хотя только acomodГ© порядок cГіdigo, так как Г©sta soluciГіn он работал, но не я incluГ - на одинокое имя я imprimГ - в на экране возраст, asГ - как deberГ, - чтобы оставаться cГіdigo.
#include <iostream>
#include <conio.h>
int edad;
char nombre[50];
using namespace std;
int main()
{
cout<<"ingrese nombre \n";
cin>>nombre;
cout<<"ingrese edad \n";
cin>>edad;
if (edad>=0&&edad<=9){ cout<<nombre<<" su piso es 0 \n"; }
else if (edad>9&&edad<=19){ cout<<nombre<<" su piso es 1 \n"; }
else if (edad>19&&edad<=29){ cout<<nombre<<" su piso es 2 \n"; }
else if (edad>29&&edad<=39){ cout<<nombre<<" su piso es 3 \n"; }
else if (edad>39&&edad<=49){ cout<<nombre<<" su piso es 4 \n"; }
else if (edad>49&&edad<=59){ cout<<nombre<<" su piso es 5 \n"; }
else if (edad>59&&edad<=69){ cout<<nombre<<" su piso es 6 \n"; }
else if (edad>69&&edad<=79){ cout<<nombre<<" su piso es 7 \n"; }
else if (edad<0){cout<<nombre<<" esta edad no existe \n";}
getch();
return 0;
}
Сначала весь fución main()
в c ++ он должен возвращать всегда целое число, если мы хотим продолжить стандарты языка. Ты можешь смотреть на себя то, что говорит документацию по этому здесь.
С другой стороны ты не должен импортировать библиотеки, которые ты не использовал бы а следовательно мы удаляем string.h
.
Относительно проблемы, если, я предполагаю, что твоя головная боль приходит, потому что ты хочешь захватить один string
с местом, например Pepito Pérez García
. Задержание с cin
ему нужно проблему, которая, найти место, задерживается а следовательно только тебя захватят имя но не фамилии.
Существуют функции, чтобы это делать, gets()
если я не ошибаюсь, будь помечена как deprecated в c++
и удаленная c
в стандарте 2011. Мы можем использовать в Вашем месте cin.getline()
.
С другой стороны, я рекомендую тебе меняться твой if
из-за else if
. Различие - что, если все if
он оценивает все их всегда, если ты используешь структуру if, else if, else
когда condicón будет оценен, как верная остальные игнорируются, будучи работоспособнее.
Код остался бы нечто похожее:
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int edad;
char nombre[50];
cout<<"ingrese nombre \n";
cin.getline(nombre,sizeof(nombre));
cout<<"ingrese edad \n";
cin>>edad;
if (edad>=0&&edad<=9){ cout<<nombre<<" su piso es 0 \n"; }
else if (edad>9&&edad<=19){ cout<<nombre<<" su piso es 1 \n"; }
else if (edad>19&&edad<=29){ cout<<nombre<<" su piso es 2 \n"; }
else if (edad>29&&edad<=39){ cout<<nombre<<" su piso es 3 \n"; }
else if (edad>39&&edad<=49){ cout<<nombre<<" su piso es 4 \n"; }
else if (edad>49&&edad<=59){ cout<<nombre<<" su piso es 5 \n"; }
else if (edad>59&&edad<=69){ cout<<nombre<<" su piso es 6 \n"; }
else if (edad>69&&edad<=79){ cout<<nombre<<" su piso es 7 \n"; }
getch();
return 0;
}
Если у тебя есть свобода, лучше, чтобы вместо array символов ты использовал библиотеку std::string
что облегчает и делает более безопасной работу с цепями в c++
. Для этого ты можешь использоватьstd::getline()
чтобы захватывать цепь:
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
int main()
{
int edad;
string nombre;
cout<<"ingrese nombre \n";
getline(cin,nombre);
cout<<"ingrese edad \n";
cin>>edad;
if (edad>=0&&edad<=9){ cout<<nombre<<" su piso es 0 \n"; }
else if (edad>9&&edad<=19){ cout<<nombre<<" su piso es 1 \n"; }
else if (edad>19&&edad<=29){ cout<<nombre<<" su piso es 2 \n"; }
else if (edad>29&&edad<=39){ cout<<nombre<<" su piso es 3 \n"; }
else if (edad>39&&edad<=49){ cout<<nombre<<" su piso es 4 \n"; }
else if (edad>49&&edad<=59){ cout<<nombre<<" su piso es 5 \n"; }
else if (edad>59&&edad<=69){ cout<<nombre<<" su piso es 6 \n"; }
else if (edad>69&&edad<=79){ cout<<nombre<<" su piso es 7 \n"; }
getch();
return 0;
}
Я удалил бы использование conio.h
после того, как не были стандартной библиотекой и будучи функции, которые делают то же самое что getch();
в ней, но это не неправильный, единственный звук предпочтения.
char* buffs = new char[sizeof(buffs)]; cin.getline(buffs, strlen(buffs));
–
23.11.2016, 23:12