• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 16:03
CEST 22:03
KST 05:03
  • 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
Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12TL.net Map Contest #22 - Voting & Ladder Map Selection7Code S Season 2 (2026) - RO8 Preview8[ASL21] Finals Preview: Two Legacies21
Community News
[TLMC] Summer 2026 Ladder Map Rotation05.0.16 patch for SC2 goes live (8 worker start)42ZeroSpace at Steam NextFest - Last free demo23Weekly Cups (June 8-14): Clem and Solar double, PTR tested0RSL: S6 Finals played at BlizzCon 202611
StarCraft 2
General
take on 5.0.16 5.0.16 patch for SC2 goes live (8 worker start) ?Bug in new patch Daily SC2 Player Grid - feedback wanted SC2 Planner - The StarCraft II Build Planner
Tourneys
RSL Revival: Season 6 - Qualifiers and Main Event Sparkling Tuna Cup - Weekly Open Tournament GSL CK #4 20-21th June Douyu Cup 2026: $20,000 Legends Event (June 26-28) Master Swan Open (Global Bronze-Master 2)
Strategy
[G] Having the right mentality to improve
Custom Maps
Work In Progress Melee Maps [D]RTS in all its shapes and glory <3
External Content
The PondCast: SC2 News & Results Mutation # 531 Experimental Artillery Mutation # 530 One For All Mutation # 529 Opportunities Unleashed
Brood War
General
Fact based Zerg Upgrade Tier List BGH Auto Balance -> http://bghmmr.eu/ STARCRAFT MOVIE - Last Night at the Command center BW General Discussion Battle cruiser feet vs Carrier fleet
Tourneys
[BSL22] GosuLeague Casts - Tue & Thu 22:00 CEST [Megathread] Daily Proleagues CSLAN 4 is Coming! Small VOD Thread 2.0
Strategy
Why doesn't anyone use restoration? Simple Questions, Simple Answers Relatively freeroll strategies Creating a full chart of Zerg builds
Other Games
General Games
Rogue Command Stormgate/Frost Giant Megathread ZeroSpace at Steam NextFest - Last free demo Beyond All Reason Nintendo Switch Thread
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
Vanilla Mini Mafia
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread [H]Internet/Gaming Cafe Tips and Tricks The Games Industry And ATVI
Fan Clubs
The HerO Fan Club! The herO Fan Club!
Media & Entertainment
Movie Discussion! [Req][Books] Good Fantasy/SciFi books [TV/BOOK] *SPOILERS* Game of Thrones Discussion
Sports
2024 - 2026 Football Thread McBoner: A hockey love story TeamLiquid Health and Fitness Initiative For 2023 Formula 1 Discussion Cricket [SPORT]
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Facing Challenges in Mobile App Development
TL Community
The Automated Ban List
Blogs
How To Predict Tilt in Espor…
TrAiDoS
An Exploration of th…
waywardstrategy
I'm an arrogant trash talke…
FlaShFTW
Gauntlet SC2: A Retrospectiv…
Ctone23
Why RTS gamers make better f…
gosubay
Customize Sidebar...

Website Feedback

Closed Threads



Active: 11236 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 13h 57m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
mouzHeroMarine 866
UpATreeSC 180
ProTech118
JuggernautJason71
MindelVK 52
StarCraft: Brood War
Shuttle 527
Dewaltoss 126
GoRush 11
Dota 2
XaKoH 501
Counter-Strike
pashabiceps2450
fl0m2165
summit1g607
minikerr8
Other Games
Grubby4341
FrodaN1694
Beastyqt583
shahzam435
Harstem387
C9.Mang0254
Sick173
mouzStarbuck75
Trikslyr57
Organizations
Other Games
BasetradeTV177
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 15 non-featured ]
StarCraft 2
• StrangeGG 105
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• FirePhoenix11
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• TFBlade906
Other Games
• imaqtpie1105
• Shiphtur239
Upcoming Events
The PondCast
13h 57m
Douyu Cup 2020
1d 8h
Oliveira vs Trap
Jieshi vs XY
soO vs FanTaSy
TY vs Coffee
OSC
1d 19h
Douyu Cup 2020
2 days
Neeb vs Impact
MacSed vs Cyan
Scarlett vs Kelazhur
INnoVation vs Dear
Douyu Cup 2020
3 days
Maestros of the Game
3 days
herO vs Classic
Maru vs Serral
BSL22 NKC (BSL vs China)
3 days
Douyu Cup 2020
4 days
BSL22 NKC (BSL vs China)
4 days
Online Event
4 days
[ Show More ]
RSL Revival
5 days
RSL Revival
5 days
WardiTV Weekly
5 days
RSL Revival
6 days
Liquipedia Results

Completed

Proleague 2026-06-19
WardiTV Spring 2026
Heroes Pulsing #2

Ongoing

IPSL Spring 2026
Acropolis #4
CSCL: Masked Kings S4
YSL S3
BSL 22 Non-Korean Championship
CSL Season 21: Qualifier 1
SCTL 2026 Spring
Maestros of the Game 2
Murky Cup 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026
IEM Rio 2026
PGL Bucharest 2026

Upcoming

CSL Season 21: Qualifier 2
CSL 2026 Summer (S21)
CSLAN 4
Blizzard Classic Cup 2026
Kung Fu Cup 2026 Grand Finals
RSL Revival: Season 6
CranK Gathers Season 4: BW vs SC2 Team League
HSC XXIX
Douyu Cup 2026
BCC 2026
Light Tournament 2026
Eternal Conflict S2 Finale
Eternal Conflict S2 E1
Heroes Pulsing #3
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 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.