Sponsored Content
Top Forums Programming Map with struct as key and vector as value Post 302917252 by yifangt on Monday 15th of September 2014 01:29:40 PM
Old 09-15-2014
Map with struct as key and vector as value

Hello,
Trying to challenge myself with C++ STL.
I want to read in data from file and do some calculation, adapted from an exercise of a book (C++ for engineers and scientist, 3rd Ed, Gary Bronson).
infile is like:
Code:
ID Name Course Credit Grade
2333021 Bokow,R. NS201 3 A
2333021 Bokow,R. MG342 3 A
2333021 Bokow,R. FA302 1 A
2574063 Failin,D. MK106 3 C
2574063 Failin,D. MA208 3 B
2574063 Failin,D. CM201 3 C
2574063 Failin,D. CP101 2 B
2663628 Kingsley,M. QA140 3 A
2663628 Kingsley,M. CM245 3 B
2663628 Kingsley,M. EQ521 3 A
2663628 Kingsley,M. MK341 3 A
2663628 Kingsley,M. CP101 3 B

My idea is to read in record as map for which ID and Name is the key, and courses as value. As the number of courses are different for each student, create two structures, one for student ID and name; the other for each course; push all the courses of the same student into a vector of structure. So the final format is like
Code:
map < struct IDnName; vector < struct Course> record> Record

My coding flow is:
1) getline of each row; parse it into tokens;
2) assign tokens into struct IDnName and struct Course;
3) push the two structs into map, struct IDnName as key and struct Course as value ;
4) push struct Course into vector if IDnName already exists;
Challenges to me:
1) Is this the right algorithm to handle the situation? If not, which is the right way?
2) For learning purpose, with my coding flow to print the record of each student, I break down the job into two functions, a) key_print() b) val_print(); but I am not sure the parameters should be passed by value or reference, which I always have problem with.
I've attached my code, for which there were too many errors to be listed here when I tried to compile. Hope someone could help me out. Thanks a lot!
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Pressing backspace key simulates enter key

Hi, Whenever i press the backspace key, a new line appears, i.e. it works like a enter key. :confused: Thanks (2 Replies)
Discussion started by: vibhor_agarwali
2 Replies

2. Programming

Vector Traversing

Hi i have the following structure struct S { char Mod_num; char val; char chr_nm_cd; } I am reading a 2GB file and inserting into the structure and writing into a vector. I feel like only vector will be a right option. I tried with multimap but it is memory intensive and hence i... (1 Reply)
Discussion started by: dhanamurthy
1 Replies

3. UNIX for Dummies Questions & Answers

How to access a struct within a struct?

Can someone tell me how to do this? Just a thought that entered my mind when learning about structs. First thought was: struct one { struct two; } struct two { three; } one->two->three would this be how you would access "three"? (1 Reply)
Discussion started by: unbelievable21
1 Replies

4. Programming

C++ Map using a Vector as a Value Type?

I modified some code I found on Wikipedia concerning maps to see if it would work before applying it to a project I'm working on that has a similar idea. What I would want is for a user to be able to enter sentences and then be able to distinguish how many times a the person entered a word in a... (4 Replies)
Discussion started by: kcgb20
4 Replies

5. Solaris

Solaris 8 ssh public key authentication issue - Server refused our key

Hi, I've used the following way to set ssh public key authentication and it is working fine on Solaris 10, RedHat Linux and SuSE Linux servers without any problem. But I got error 'Server refused our key' on Solaris 8 system. Solaris 8 uses SSH2 too. Why? Please help. Thanks. ... (1 Reply)
Discussion started by: aixlover
1 Replies

6. Programming

Storing C++-struct in file - problem when adding new item in struct

Hi, I have received an application that stores some properties in a file. The existing struct looks like this: struct TData { UINT uSizeIncludingStrings; // copy of Telnet data struct UINT uSize; // basic properties: TCHAR szHost; //defined in Sshconfig UINT iPortNr; TCHAR... (2 Replies)
Discussion started by: Powerponken
2 Replies

7. Programming

Array and Vector

Hi all, from my understanding I understand that I can use array in this manner. struct test { int a; int b; int c; }; test testing; //creating an array with the structer type testing.a=1; testing.b=2; testing.c=3; If I'm not wrong we can use array in this manner,... (12 Replies)
Discussion started by: vinzping
12 Replies

8. Programming

vector c++

hello guys. i'm new to c++. i've problem using two dimensional vector. i've a project of making conway's game of life. this is the code that i have made so far. my problem is how can i give a two dimensional vector through main. glider.vec1 = vec; is not correct way to give a two... (2 Replies)
Discussion started by: nishrestha
2 Replies

9. Shell Programming and Scripting

Vector normalisation

In AWK For 3 individual vectors of the form: -2.772 -9.341 -2.857 -5.140 -6.597 -1.823 -2.730 -5.615 1.159 I would like to write a script that parses line by line to (i) normalise, (ii) divide by the norm for *each* vector. I.e. sqrt(-2.772^2 + -9.341^2 + -2.857^2)=10.154 ... (4 Replies)
Discussion started by: chrisjorg
4 Replies
All times are GMT -4. The time now is 04:07 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy