• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 17:09
CEST 23:09
KST 06:09
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Serral wins HomeStory Cup 2915Serral wins Maestros of the Game 243ByuL, and the Limitations of Standard Play3Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12
Community News
GSTL Returns in 2026!23Weekly Cups (Aug 3-9): Protoss get shut out7RSL goes to London! 2026 Offline Finals Nov 21-2212Weekly Cups (July 27-Aug 2): SHIN's big week0SC4ALL II: Brood War - $2500 - Dec 5-611
StarCraft 2
General
GSTL Returns in 2026! SC4ALL: II Talent Announcement! Balance hotfix patch 5.0.16b (July 16) Protoss AoE skill expression Weekly Cups (Aug 3-9): Protoss get shut out
Tourneys
PIG STY FESTIVAL 8.0! (13 - 23 August) Sea Duckling Open (Global, Bronze-Diamond) 2026 KungFu Cup Announcement Sparkling Tuna Cup - Weekly Open Tournament RSL goes to London! 2026 Offline Finals Nov 21-22
Strategy
[G] Having the right mentality to improve
Custom Maps
Nexus Wars 2021 GUIDE [M] (2) Industrial Park
External Content
Mutation # 538 Media Blackout The PondCast: SC2 News & Results Mutation # 537 Hostile Territory Mutation # 536 Railroad Switch
Brood War
General
BW General Discussion ASL22 General Discussion BGH Auto Balance -> http://bghmmr.eu/ Best Games Kespa era StarCraft 64 is coming to Philly at SC4ALL II
Tourneys
Escore Tournament - Season 3 Small VOD Thread 2.0 [Megathread] Daily Proleagues SC4ALL II: Brood War - $2500 - Dec 5-6
Strategy
Odyssey Mineral Stack Saturation Fighting Spirit mining rates Any training maps people recommend? Simple Questions, Simple Answers
Other Games
General Games
Nintendo Switch Thread Anyone here play Quakeworld back in the day? Stormgate/Frost Giant Megathread EVE Corporation General RTS Discussion Thread
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
[TL LoL EUW IHs] Teemo shall perish TSM pausing esports and CLG Dead
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Power Rank TL Mafia Community Thread NeO.D_StephenKing vs This Guy From 1 Million Dance
Community
General
US Politics Mega-thread European Politico-economics QA Mega-thread Russo-Ukrainian War Thread Artificial Intelligence Thread The Letting Off Steam Thread
Fan Clubs
MarineLorD Fan Club The ShoWTimE Fan Club The herO Fan Club!
Media & Entertainment
Movie Discussion! Anime Discussion Thread Series you have seen recently... [Req][Books] Good Fantasy/SciFi books
Sports
Football (Soccer) Thread TeamLiquid Health and Fitness Initiative For 2023 NBA General Discussion Formula 1 Discussion MLB/Baseball 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Simple Questions Simple Answers FPS when play League Of Legend on laptop
TL Community
The Automated Ban List Northern Ireland Global Starcraft
Blogs
LOCKPICKING NOOB
LUCKY_NOOB
Chinese Gen Z: Between Dream…
TrAiDoS
Cathedral Of CS And NY pizza a…
FuDDx
Please support my new stand…
Peanutsc
Hello guys!
LIN1s
Customize Sidebar...

Website Feedback

Closed Threads



Active: 6680 users

C++ noob question

Blogs > eMbrace
Post a Reply
1 2 Next All
eMbrace
Profile Blog Joined January 2009
United States1300 Posts
Last Edited: 2009-10-17 02:49:29
October 17 2009 02:48 GMT
#1
I've been doing quite well in my class, but I've finally hit something that I can't figure out.

Basically, we have to decode a text file back to english (Caesar Cipher), and we have to run the text file through the our progame via the Command Prompt.

I've finished writing my code, but I can't get it to feed me back any output -- wrong or right.

I don't get an error or anything just this:

(checking to see if files I need are there, they are)
+ Show Spoiler +
[image loading]


(running the txt file through my program, maybe?)
+ Show Spoiler +
[image loading]


As you can see, nothing happens, and no errors appear either.

thats how I was instructed to do it and it's worked once before the other day, but now I finished writing my code and I can't test it =/

If you feel like taking the time, you can look at that as well:

+ Show Spoiler +
#include <iostream>
#include <iomanip>
#include <math.h>



using namespace std;


char reverseCaesar( char ch );
char convPunct( char ch );
char convDigit( char ch );
char convRest(char ch);
//***************************************************************************************************************************
int main()
{
char ch;
int change;


cin >> ch;

while ( cin )
{
char change;
if( isalpha(ch) )
{
change = reverseCaesar(ch);

}
else if (ispunct(ch) )
{
change = convPunct(ch);

}
else if (isdigit(ch) )
{
change = convDigit(ch);

}

else
change = convRest(ch);

cin >> ch;
}


system ("pause");
return 0;
}

//***************************************************************************************************************************

char reverseCaesar( char ch )
{
int i;

if (ch <= 47 && ch > 44)
{
i = (int)ch + 23;
}
else if (ch <=99 && ch > 96)
{
i = (int)ch +23;
}
else

i = (int)ch - 3;

return char(i);
}

char convPunct( char ch )
{
switch(ch)
{
case ',': return '0';
break;
case '.': return '1';
break;
case '$': return '2';
break;
case '&': return '3';
break;
case '%': return '4';
break;
case '*': return '5';
break;
case '(': return '6';
break;
case ')': return '7';
break;
case '?': return '8';
break;
case '!': return '9';

default: return ch;

}
}

char convDigit( char ch )
{
switch(ch)
{
case '0': return '!';
break;
case '1': return ',';
break;
case '2': return ')';
break;
case '3': return '(';
break;
case '4': return '?';
break;
case '5': return '-';
break;
case '6': return '&';
break;
case '7': return '$';
break;
case '8': return '.';
break;
case '9': return '+';
break;

default: return ch;

}
}

char convRest(char ch)
{
if(ch==21)
ch='\n';
else if(ch==22)
ch=' ';
else
ch=ch;

return ch;
}


I haven't added documentation, but it's fairly straight forward -- taking the characters from the txt file and decoding them (we had to write and use our own functions as well).

I'm willing to bet my program wouldn't work even if I could see it, but i'd at least like to try.

any help would appreciated, it's due in a couple of hours =)

if I have to i'll just submit and see if I can edit and resubmit tomorrow .

thanks.







*
Shade692003
Profile Joined August 2005
Canada702 Posts
October 17 2009 02:58 GMT
#2
been pretty long since I've done anything like coding or w/e, but if I understand correctly you enter your text file path as a parameter for your program? shouldn't there be parameters in your main then?
I hate the post below mine because it feels War3-ish.
DrTJEckleburg
Profile Blog Joined February 2009
United States1080 Posts
October 17 2009 02:58 GMT
#3
I have no help for your question, but I do believe that your reign at the top of LB will end after you bet on MBC over KT Rolster.
Im pretty good at whistling with my hands, especially when Im holding a whistle.
paper
Profile Blog Joined September 2004
13196 Posts
Last Edited: 2009-10-17 02:59:19
October 17 2009 02:59 GMT
#4
[image loading]


voting for MBC is your problem


edit: YOU GUYS ARE TOO FAST
Hates FunπŸ€”
keV.
Profile Blog Joined February 2009
United States3214 Posts
Last Edited: 2009-10-17 03:04:04
October 17 2009 03:00 GMT
#5
Wait a minute something isn't right here.


I'm pretty sure you can't read a txt file with cin, while expecting a char.

I don't know the details of your assignment, but do you take the file you are reading from as a parameter? If you do, then you definitely need to take some command line arguments. If not, then you can just open the file in your main or accept it by input string, and read char by char until the end of file.
"brevity is the soul of wit" - William Shakesman
AcrossFiveJulys
Profile Blog Joined September 2005
United States3612 Posts
Last Edited: 2009-10-17 03:05:10
October 17 2009 03:01 GMT
#6
I'm a little confused about what you're asking, but I think you are asking why your program doesn't "do" anything when you run it. Okay, so given that...

Your second screenshot shows you running the program with the file as input correctly.

Now, your program doesn't produce any output on the command prompt because you aren't telling it to print anything. Use cout if you want to print messages to the command prompt. If you are trying to create a new file that contains the translation of the original file, you'll need to use an ofstream and output to that, or use "> some_file" when running the program and print to some_file using cout.

eMbrace
Profile Blog Joined January 2009
United States1300 Posts
October 17 2009 03:01 GMT
#7
On October 17 2009 11:58 DrTJEckleburg wrote:
I have no help for your question, but I do believe that your reign at the top of LB will end after you bet on MBC over KT Rolster.


i'm on top for a reason
AcrossFiveJulys
Profile Blog Joined September 2005
United States3612 Posts
October 17 2009 03:03 GMT
#8
On October 17 2009 12:00 keV. wrote:
Wait a minute something isn't right here.


I'm pretty sure you can't read a txt file with cin, while expecting a char.


Yes you can. Since he's using the "<" operator when running the program, it changes the stdin stream (which is what cin uses) to refer to the file instead of user input.
Shade692003
Profile Joined August 2005
Canada702 Posts
October 17 2009 03:03 GMT
#9
On October 17 2009 12:00 keV. wrote:
Wait a minute something isn't right here.


I'm pretty sure you can't read a txt file with cin, while expecting a char.



I think the cin are for reading the characters in the text files, once they are read he changes them according to their values. could be wrong tho.

Anyhow there is no output like the other guy said
I hate the post below mine because it feels War3-ish.
eMbrace
Profile Blog Joined January 2009
United States1300 Posts
October 17 2009 03:05 GMT
#10
On October 17 2009 12:01 AcrossFiveJulys wrote:
I'm a little confused about what you're asking, but I think you are asking why your program doesn't "do" anything when you run it. Okay, so given that...

Your second screenshot shows you running the program with the file as input correctly.

Now, your program doesn't produce any output on the command prompt because you aren't telling it to print anything. Use cout if you want to print messages to the command prompt. If you are trying to create a new file that contains the translation of the original file, you'll need to use an ofstream and output to that.



to put it into a new file, they taught us this format

program < input.txt > new.txt

i get a new file with nothing in it =/
Shade692003
Profile Joined August 2005
Canada702 Posts
Last Edited: 2009-10-17 03:06:46
October 17 2009 03:05 GMT
#11
So hmm, shoudn't you cout that ''change'' variable?

Edit: Try to cout the change variable at the end of the while loop, might cout the value into the new text file.
I hate the post below mine because it feels War3-ish.
keV.
Profile Blog Joined February 2009
United States3214 Posts
Last Edited: 2009-10-17 03:06:53
October 17 2009 03:05 GMT
#12
On October 17 2009 12:03 AcrossFiveJulys wrote:
Show nested quote +
On October 17 2009 12:00 keV. wrote:
Wait a minute something isn't right here.


I'm pretty sure you can't read a txt file with cin, while expecting a char.


Yes you can. Since he's using the "<" operator when running the program, it changes the stdin stream (which is what cin uses) to refer to the file instead of user input.


I don't think reading from a file without a file handle is a good idea.

its sad how long its been since I've worked with simple I/O input...
"brevity is the soul of wit" - William Shakesman
vAltyR
Profile Blog Joined July 2008
United States581 Posts
Last Edited: 2009-10-17 03:08:40
October 17 2009 03:05 GMT
#13
Commenting is your best friend. Especially when you're asking others to help with your program. I didn't think it'd make that much difference, but I've had time where I look back on code and think "wtf was I doing here again?"

Do you need to separate it into functions like that? Sometimes it gets confusing debugging so many functions, especially when the code isn't your own.


EDIT: Wait a second... You're reading this from a file, right? You have nothing set up for file IO.
λ‚΄ ν˜Έλ²„ν¬λΌν”„νŠΈλŠ” μž₯μ–΄λ‘œ 가득 μ°¨ μžˆμ–΄μš”
Ironson
Profile Joined February 2008
20 Posts
October 17 2009 03:06 GMT
#14
The program is well formed, but it doesn't output anything! You need to write the output to "cout" and stream it into a file. Your command would become something like: pgm6 < input.txt > output.txt
keV.
Profile Blog Joined February 2009
United States3214 Posts
October 17 2009 03:07 GMT
#15
Like whats been said in this thread, you need to either rewrite the original file as you read char by char or you need to print the output to a a new file or screen.
"brevity is the soul of wit" - William Shakesman
eMbrace
Profile Blog Joined January 2009
United States1300 Posts
Last Edited: 2009-10-17 03:09:14
October 17 2009 03:08 GMT
#16
On October 17 2009 12:06 Ironson wrote:
The program is well formed, but it doesn't output anything! You need to write the output to "cout" and stream it into a file. Your command would become something like: pgm6 < input.txt > output.txt


ok right, but how exactly do I make my program cout all the decoded characters at once after the loop is over?

and sorry for the code with out comments -- we did have to write functions to use in the main, i guess it's a way of them making us learn how they work.



Ironson
Profile Joined February 2008
20 Posts
October 17 2009 03:09 GMT
#17
Before your second "cin >> ch;", place "cout << change;".
eMbrace
Profile Blog Joined January 2009
United States1300 Posts
Last Edited: 2009-10-17 03:14:24
October 17 2009 03:13 GMT
#18
On October 17 2009 12:09 Ironson wrote:
Before your second "cin >> ch;", place "cout << change;".



woah, it worked.

got all the decoded next in a new file.

thanks a lot everyone -- you may have saved my A in this class.

now I can watch MBC just roll over KT tonight
keV.
Profile Blog Joined February 2009
United States3214 Posts
October 17 2009 03:13 GMT
#19
this should give you simple error checking output.

+ Show Spoiler +

int main()
{
char ch;
int change;


cin >> ch;

while ( cin )
{
char change;
if( isalpha(ch) )
{
change = reverseCaesar(ch);


}
else if (ispunct(ch) )
{
change = convPunct(ch);


}
else if (isdigit(ch) )
{
change = convDigit(ch);


}

else
change = convRest(ch);
//output goes here

cin >> ch;
}


system ("pause");
return 0;
}

"brevity is the soul of wit" - William Shakesman
eMbrace
Profile Blog Joined January 2009
United States1300 Posts
October 17 2009 03:17 GMT
#20
On October 17 2009 12:13 keV. wrote:
this should give you simple error checking output.

+ Show Spoiler +

int main()
{
char ch;
int change;


cin >> ch;

while ( cin )
{
char change;
if( isalpha(ch) )
{
change = reverseCaesar(ch);


}
else if (ispunct(ch) )
{
change = convPunct(ch);


}
else if (isdigit(ch) )
{
change = convDigit(ch);


}

else
change = convRest(ch);
//output goes here

cin >> ch;
}


system ("pause");
return 0;
}



thanks a bunch kev
1 2 Next All
Please log in or register to reply.
Live Events Refresh
Next event in 12h 51m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
ZombieGrub193
SpeCial 184
UpATreeSC 111
NeuroSwarm 93
ProTech78
EmSc Tv 24
StarCraft: Brood War
Britney 13120
Dewaltoss 96
Mong 77
Dota 2
XaKoH 437
League of Legends
Doublelift4294
Counter-Strike
summit1g3553
fl0m2254
Super Smash Bros
C9.Mang0202
Heroes of the Storm
Liquid`Hasu358
Other Games
Grubby2147
shahzam477
B2W.Neo350
Liquid`VortiX245
KnowMe89
ArmadaUGS75
Mew2King50
Trikslyr28
Organizations
StarCraft 2
EmSc2Tv 24
EmSc Tv 24
Other Games
BasetradeTV23
[ Show 15 non-featured ]
StarCraft 2
• musti20045 18
• RyuSc2 6
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Migwel
StarCraft: Brood War
• blackmanpl 16
• HerbMon 8
• Pr0nogo 2
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• TFBlade859
Other Games
• imaqtpie1880
Upcoming Events
CranKy Ducklings
12h 51m
PiG Sty Festival
14h 51m
herO vs Krystianer
Solar vs Cure
IPSL
18h 51m
Sparkling Tuna Cup
1d 12h
PiG Sty Festival
1d 14h
Maru vs Shameless
Reynor vs TriGGeR
IPSL
1d 18h
OSC
2 days
Afreeca Starleague
2 days
Rush vs Hm
Bisu vs Shuttle
WardiTV Weekly
2 days
The Patches Monday
2 days
[ Show More ]
Afreeca Starleague
3 days
Sharp vs Shinee
Action vs Shine
PiGosaur Cup
4 days
Replay Cast
4 days
Afreeca Starleague
4 days
BeSt vs Paralyze
Jaedong vs Speed
Kung Fu Cup
4 days
The PondCast
5 days
KCM Race Survival
5 days
Replay Cast
6 days
PiG Sty Festival
6 days
Liquipedia Results

Completed

Proleague 2026-08-13
CranK Gathers Season 4: BW vs SC2 Team League
Eternal Conflict S2 Finale

Ongoing

KCM Race Survival 2026 Season 3
K-JUNGMAN
Acropolis #5
Escore Tournament S3: W7
RSL Revival: Season 6
PiG Sty Festival 8.0
Esports World Cup 2026
Esports World Cup 2026: LCQ
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026
IEM Cologne Major 2026

Upcoming

CSLAN 4
ASL Season 22
Escore Tournament S3: W8
Acropolis #5 - TRS
Blizzard Classic Cup 2026
Acropolis #5 - GSA
Acropolis #5 - GSB
HSC XXX
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
Big Dog Cup 2026 Div 1
META DYMY #4
Stake Ranked Episode 5
PGL Masters Bucharest 2026
Thunderpick World Champ. '26
ESL Pro League Season 24
Stake Ranked Episode 4
1win Private Club #1
Logitech G Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #5
BLAST Open Fall 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.