-3
내 코드를 수정하려고 시도했지만 원활하게 실행되지만 U, C, K, N, O와 같이 요소의 첫 번째 문자 만 읽습니다. 문제없이 잘 돌아갑니다.내 코드에서 문자열을 사용하는 방법
Fe, Cl, Uuu, Pd, Rh.를 입력하려고 할 때. 첫 번째 글자 만 읽고 잘못된 답을줍니다.
그래서 아무 문제가 없으므로 아무 문제없이 모든 요소를 읽습니다. 스위치 케이스가 std::string
을 처리하지 않는
#include <iostream>
#include <Windows.h>
int main()
{
using namespace std;
char Index;
cout<<"please type an Element to see its Atomic number"<<endl;
cin>>Index;
switch (Index)
{
case 'H':
cout<<"tAtomic Number is 2"<<endl;
break;
case 'Li':
cout<<"The full name is (Lithium) , The Atomic number is 3"<<endl;
break;
case 'Ac':
cout<<"The full name is (Actinium)The Atomic number is 89"<<endl;
break;
case 'Al':
cout<<"The full name is (Aluminum)The Atomic number is 13"<<endl;
break;
case 'Am':
cout<<"The full name is (Americium)The Atomic number is 95"<<endl;
break;
case 'Sb':
cout<<"The full name is (Antimony)The Atomic number is 51"<<endl;
break;
case 'Ar':
cout<<"The full name is (Argon)The Atomic number is 18"<<endl;
break;
case 'As':
cout<<"The full name is (Arsenic)The Atomic number is 33"<<endl;
break;
case 'At':
cout<<"The full name is (Astatine)The Atomic number is 85"<<endl;
break;
case 'Ba':
cout<<"The full name is (Barium)The Atomic number is 56"<<endl;
break;
case 'Bk':
cout<<"The full name is (Berkelium)The Atomic number is 97"<<endl;
break;
case 'Be':
cout<<"The full name is (Beryllium)The Atomic number is 4"<<endl;
break;
case 'Bi':
cout<<"The full name is (Bismuth)The Atomic number is 83"<<endl;
break;
case 'Bh':
cout<<"The full name is (Bohrium) The Atomic number is 107"<<endl;
break;
case 'B':
cout<<"The full name is (Boron)The Atomic number is 5"<<endl;
break;
case 'Br':
cout<<"The full name is (Bromine)The Atomic number is 35"<<endl;
break;
case 'Cd':
cout<<"The full name is (Cadmium )The Atomic number is 48"<<endl;
break;
case 'Ca':
cout<<"The full name is (Calcium)The Atomic number is 20"<<endl;
break;
case 'Cf':
cout<<"The full name is (Californium)The Atomic number is 98"<<endl;
break;
case 'C':
cout<<"The full name is (Carbon)The Atomic number is 6"<<endl;
break;
case 'Ce':
cout<<"The full name is (Cerium)The Atomic number is 58"<<endl;
break;
case 'Cs':
cout<<"The full name is (Cesium)The Atomic number is 55"<<endl;
break;
case 'Cl':
cout<<"The full name is (Chlorine)The Atomic number is 17"<<endl;
break;
case 'Cr':
cout<<"The full name is (Chromium)The Atomic number is 24"<<endl;
break;
case 'Co':
cout<<"The full name is (Cobalt)The Atomic number is 27"<<endl;
break;
case 'Cu':
cout<<"The full name is (Copper)The Atomic number is 29"<<endl;
break;
case 'Cm':
cout<<"The full name is (Curium)The Atomic number is 96"<<endl;
break;
case 'Ds':
cout<<"The full name is (Darmstadtium)The Atomic number is 110"<<endl;
break;
case 'Db':
cout<<"The full name is (Dubnium)The Atomic number is 105"<<endl;
break;
case 'Dy':
cout<<"The full name is (Dysprosium)The Atomic number is 66"<<endl;
break;
case 'Es':
cout<<"The full name is (Einsteinium)The Atomic number is 99"<<endl;
break;
case 'Er':
cout<<"The full name is (Erbium)The Atomic number is 68"<<endl;
break;
case 'Eu':
cout<<"The full name is (Europium)The Atomic number is 63"<<endl;
break;
case 'Fm':
cout<<"The full name is (Fermium)The Atomic number is 100"<<endl;
break;
case 'F':
cout<<"The full name is (Fluorine)The Atomic number is 9"<<endl;
break;
case 'Fr':
cout<<"The full name is (Francium)The Atomic number is 87"<<endl;
break;
case 'Gd':
cout<<"The full name is (Gadolinium)The Atomic number is 64"<<endl;
break;
case 'Ga':
cout<<"The full name is (Gallium )The Atomic number is 31"<<endl;
break;
case 'Ge':
cout<<"The full name is (Germanium)The Atomic number is 32"<<endl;
break;
case 'Au':
cout<<"The full name is (Gold)The Atomic number is 79"<<endl;
break;
case 'Hf':
cout<<"The full name is (Hafnium)The Atomic number is 72"<<endl;
break;
case 'Hs':
cout<<"The full name is (Hassium)The Atomic number is 108"<<endl;
break;
case 'He':
cout<<"The full name is (Helium)The Atomic number is 2"<<endl;
break;
case 'Ho':
cout<<"The full name is (Holmium )The Atomic number is 67"<<endl;
break;
case 'In':
cout<<"The full name is (Indium)The Atomic number is 49"<<endl;
break;
case 'I':
cout<<"The full name is (Iodine)The Atomic number is 53"<<endl;
break;
case 'Ir':
cout<<"The full name is (Iridium )The Atomic number is 77"<<endl;
break;
case 'Fe':
cout<<"The full name is (Iron)The Atomic number is 26"<<endl;
break;
case 'Kr':
cout<<"The full name is (Krypton)The Atomic number is 36"<<endl;
break;
case 'La':
cout<<"The full name is (Lanthanum)The Atomic number is 57"<<endl;
break;
case 'Lr':
cout<<"The full name is (Lawrencium)The Atomic number is 103"<<endl;
break;
case 'Pb':
cout<<"The full name is (Lead)The Atomic number is 82"<<endl;
break;
case 'Lu':
cout<<"The full name is (Lutetium)The Atomic number is 71"<<endl;
break;
case 'Mg':
cout<<"The full name is (Magnesium)The Atomic number is 12"<<endl;
break;
case 'Mn':
cout<<"The full name is (Manganese)The Atomic number is 25"<<endl;
break;
case 'Mt':
cout<<"The full name is (Meitnerium)The Atomic number is 109"<<endl;
break;
case 'Md':
cout<<"The full name is (Mendelevium )The Atomic number is 101"<<endl;
break;
case 'Hg':
cout<<"The full name is (Mercury)The Atomic number is 80"<<endl;
break;
case 'Mo':
cout<<"The full name is (Molybdenum)The Atomic number is 42"<<endl;
break;
case 'Ne':
cout<<"The full name is (Neon)The Atomic number is 77"<<endl;
break;
case 'Nd':
cout<<"The full name is (Neodymium)The Atomic number is 60"<<endl;
break;
case 'Np':
cout<<"The full name is (Neptunium)The Atomic number is 93"<<endl;
break;
case 'Ni':
cout<<"The full name is (Nickel)The Atomic number is 28"<<endl;
break;
case 'Nb':
cout<<"The full name is (Niobium)The Atomic number is 41"<<endl;
break;
case 'N':
cout<<"The full name is (Nitrogen)The Atomic number is 7"<<endl;
break;
case 'No':
cout<<"The full name is (Nobelium)The Atomic number is 102"<<endl;
break;
case 'Os':
cout<<"The full name is (Osmium )The Atomic number is 76"<<endl;
break;
case 'O':
cout<<"The full name is (Oxygen )The Atomic number is 8"<<endl;
break;
case 'Pd':
cout<<"The full name is (Palladium)The Atomic number is 46"<<endl;
break;
case 'P':
cout<<"The full name is (Phosphorus )The Atomic number is 15"<<endl;
break;
case 'Pt':
cout<<"The full name is (Platinum)The Atomic number is 78"<<endl;
break;
case 'Pu':
cout<<"The full name is (Plutonium)The Atomic number is 94"<<endl;
break;
case 'Po':
cout<<"The full name is (Polonium)The Atomic number is 84"<<endl;
break;
case 'K':
cout<<"The full name is (Potassium)The Atomic number is 19"<<endl;
break;
case 'Pr':
cout<<"The full name is (Praseodymium)The Atomic number is 59"<<endl;
break;
case 'Pm':
cout<<"The full name is (Promethium)The Atomic number is 61"<<endl;
break;
case 'Pa':
cout<<"The full name is (Protactinium)The Atomic number is 91"<<endl;
break;
case 'Ra':
cout<<"The full name is (Radium)The Atomic number is 88"<<endl;
break;
case 'Rn':
cout<<"The full name is (Radon)The Atomic number is 86"<<endl;
break;
case 'Re':
cout<<"The full name is (Rhenium)The Atomic number is 75"<<endl;
break;
case 'Rh':
cout<<"The full name is (Rhodium)The Atomic number is 45"<<endl;
break;
case 'Rg':
cout<<"The full name is (Roentgenium)The Atomic number is 111"<<endl;
break;
case 'Rb':
cout<<"The full name is (Rubidium)The Atomic number is 37"<<endl;
break;
case 'Ru':
cout<<"The full name is (Ruthenium)The Atomic number is 44"<<endl;
break;
case 'Rf':
cout<<"The full name is (Rutherfordium)The Atomic number is 104"<<endl;
break;
case 'Sm':
cout<<"The full name is (Samarium)The Atomic number is 62"<<endl;
break;
case 'Sc':
cout<<"The full name is (Scandium)The Atomic number is 21"<<endl;
break;
case 'Sg':
cout<<"The full name is (Seaborgium)The Atomic number is 106"<<endl;
break;
case 'Se':
cout<<"The full name is (Selenium)The Atomic number is 34"<<endl;
break;
case 'Si':
cout<<"The full name is (Silicon )The Atomic number is 14"<<endl;
case 'Ag':
cout<<"The full name is (Silver)The Atomic number is 47"<<endl;
break;
case 'Na':
cout<<"The full name is (Sodium)The Atomic number is 11"<<endl;
break;
case 'Sr':
cout<<"The full name is (Strontium)The Atomic number is 38"<<endl;
break;
case 'S':
cout<<"The full name is (Sulfur)The Atomic number is 16"<<endl;
break;
case 'Ta':
cout<<"The full name is (Tantalum)The Atomic number is 73"<<endl;
break;
case 'Tc':
cout<<"The full name is (Technetium)The Atomic number is 43"<<endl;
break;
case 'Te':
cout<<"The full name is (Tellurium )The Atomic number is 52"<<endl;
break;
case 'Tb':
cout<<"The full name is (Terbium)The Atomic number is 65"<<endl;
break;
case 'Tl':
cout<<"The full name is (Thallium)The Atomic number is 81"<<endl;
break;
case 'Th':
cout<<"The full name is (Thorium)The Atomic number is 90"<<endl;
break;
case 'Tm':
cout<<"The full name is (Thulium)The Atomic number is 69"<<endl;
break;
case 'Sn':
cout<<"The full name is (Tin)The Atomic number is 50"<<endl;
break;
case 'Ti':
cout<<"The full name is (Titanium)The Atomic number is 22"<<endl;
break;
case 'W':
cout<<"The full name is (Tungsten)The Atomic number is 74"<<endl;
break;
case 'Uub':
cout<<"The full name is (Ununbium)The Atomic number is 112"<<endl;
break;
case 'Uuh':
cout<<"The full name is (Ununhexium)The Atomic number is 116"<<endl;
break;
case 'Uuo':
cout<<"The full name is (Ununoctium)The Atomic number is 118"<<endl;
break;
case 'Uup':
cout<<"The full name is (Ununpentium )The Atomic number is 115"<<endl;
break;
case 'Uuq':
cout<<"The full name is (Ununquadium )The Atomic number is 114"<<endl;
break;
case 'Uus':
cout<<"The full name is (Ununseptium )The Atomic number is 117"<<endl;
break;
case 'Uut':
cout<<"The full name is (Ununtrium)The Atomic number is 113"<<endl;
break;
case 'Uuu':
cout<<"The full name is (Ununium )The Atomic number is 111"<<endl;
break;
case 'U':
cout<<"The full name is (Uranium )The Atomic number is 92"<<endl;
break;
case 'V':
cout<<"The full name is (Vanadium)The Atomic number is 23"<<endl;
break;
case 'Xe':
cout<<"The full name is (Xenon)The Atomic number is 54"<<endl;
break;
case 'Yb':
cout<<"The full name is (Ytterbium)The Atomic number is 70"<<endl;
break;
case 'Y':
cout<<"The full name is (Yttrium )The Atomic number is 39"<<endl;
break;
case 'Zn':
cout<<"The full name is (Zinc)The Atomic number is 30"<<endl;
break;
case 'Zr':
cout<<"The full name is (Zirconium)The Atomic number is 40"<<endl;
break;
default:
cout<<"There is no element with that Symbol !! , please close the program and try again"<<endl;
return 0;
Sleep (5000);
}
}
잘 그것의 유일한 당신은 단지를 보유하고'char',에 저장하고 있기 때문에 당신이 하나의 문자를 입력시키는 단일 문자. 그것을'std :: string'으로 만드십시오. 하지만 '스위치'는 작동하지 않으므로 일련의'if ... else'로 교체해야합니다. 더 나은 해결책은 모든 정보를'std :: map'에 추가 한 다음'std :: string'을 기반으로 간단히 살펴 보는 것일 수 있습니다. – Steve
''Ac''는 멀티 바이트 문자로 생각하지 않습니다. 구현 정의 값. – Jarod42
이것을 [mcve]로 줄이면 답을 얻을 수 있습니다. 아마도 올바로 작동하는 하나 또는 두 개의 사례와 올바른 작동하지 않는 사례가있을 수 있습니다. <20 줄의 코드를 작성하면 사람들이 문제를 재현하고 더 도움을 줄 수 있습니다. – Tas