// Lab 8, Working with structs
// Programmer : Maiar Khattab
// Editor(s) used : Code Blocks 13.12
// Compiler(s) used : Code Blocks 13.12
#include<iostream>
using std::cout;
using std::endl;
#include<cstdlib>
//struct def
struct tod
{
int hour;// the hr , 0-23
int minute;// the min, 0-59
int second;//the sec, 0-59
char descr [32];//the description of the time of day
};
//void printTod(const tod&);
int main ()
{
cout << "Lab 8, Working With structs\n";
cout << "Programmer: Maiar Khattab\n";
cout << "Editor(s) used: Code Blocks 13.12\n";
cout << "Compiler(s) used: Code Blocks 13.12\n";
cout << "File: " << __FILE__ << endl;
cout << "Complied: " << __DATE__ << " at " << __TIME__ << endl << endl;
tod theTime[] = {{12,0,0, "noon"},
{0,0,0," midnight"},
{6,00,00," supper "},
{11,30,0,"bedtime"}};
for(int i; i <5; i++)
{
char descr [32];
cout << theTime[i].descr << " is " << theTime[i].hour << ':'
<< theTime[i].minute << ":" << theTime[i].second << endl;
}
}
IC8vIExhYiA4LCBXb3JraW5nIHdpdGggc3RydWN0cwovLyBQcm9ncmFtbWVyIDogTWFpYXIgS2hhdHRhYgovLyBFZGl0b3IocykgdXNlZCA6IENvZGUgQmxvY2tzIDEzLjEyCi8vIENvbXBpbGVyKHMpIHVzZWQgOiBDb2RlIEJsb2NrcyAxMy4xMgoKI2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIHN0ZDo6Y291dDsKdXNpbmcgc3RkOjplbmRsOwoKI2luY2x1ZGU8Y3N0ZGxpYj4KCi8vc3RydWN0IGRlZgpzdHJ1Y3QgdG9kCnsKaW50IGhvdXI7Ly8gdGhlIGhyICwgMC0yMwppbnQgbWludXRlOy8vIHRoZSBtaW4sIDAtNTkKaW50IHNlY29uZDsvL3RoZSBzZWMsIDAtNTkKY2hhciBkZXNjciBbMzJdOy8vdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSB0aW1lIG9mIGRheQoKfTsKLy92b2lkIHByaW50VG9kKGNvbnN0IHRvZCYpOwppbnQgbWFpbiAoKQp7CiAgY291dCA8PCAiTGFiIDgsIFdvcmtpbmcgV2l0aCBzdHJ1Y3RzXG4iOwogIGNvdXQgPDwgIlByb2dyYW1tZXI6IE1haWFyIEtoYXR0YWJcbiI7CiAgY291dCA8PCAiRWRpdG9yKHMpIHVzZWQ6IENvZGUgQmxvY2tzIDEzLjEyXG4iOwogIGNvdXQgPDwgIkNvbXBpbGVyKHMpIHVzZWQ6IENvZGUgQmxvY2tzIDEzLjEyXG4iOwogIGNvdXQgPDwgIkZpbGU6ICIgPDwgX19GSUxFX18gPDwgZW5kbDsKICBjb3V0IDw8ICJDb21wbGllZDogIiA8PCBfX0RBVEVfXyA8PCAiIGF0ICIgPDwgX19USU1FX18gPDwgZW5kbCA8PCBlbmRsOwoKICAgICAgICAgICAgdG9kIHRoZVRpbWVbXSA9ICB7ezEyLDAsMCwgIm5vb24ifSwKICAgICAgICAgICAgezAsMCwwLCIgbWlkbmlnaHQifSwKICAgICAgICAgICAgezYsMDAsMDAsIiBzdXBwZXIgIn0sCiAgICAgICAgICAgIHsxMSwzMCwwLCJiZWR0aW1lIn19OwogICAgICAgICAgCiAgICAgICAgICBmb3IoaW50IGk7IGkgPDU7IGkrKykKICAgICAgICAgIHsKICAgICAgICAgICAgIGNoYXIgZGVzY3IgWzMyXTsgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICBjb3V0IDw8IHRoZVRpbWVbaV0uZGVzY3IgPDwgIiBpcyAiIDw8IHRoZVRpbWVbaV0uaG91ciA8PCAnOicgCiAgICAgICAgICAgIDw8IHRoZVRpbWVbaV0ubWludXRlIDw8ICI6IiA8PCB0aGVUaW1lW2ldLnNlY29uZCA8PCBlbmRsOyAKICAgICAgICAgIH0KfQogICAgICAKICA=
IAojaW5jbHVkZSAmbHQ7aW9zdHJlYW0mZ3Q7CiNpbmNsdWRlICZsdDtpb21hbmlwJmd0OyAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIEZ1bGwgUGVyaW9kIE1hcmsKaW50IEZ1bGxQZXJpb2RNYXJrKGludCB0ZXN0MSwgaW50IHRlc3QyLCBpbnQgYXNzaWdubWVudCkgewogICAgcmV0dXJuICh0ZXN0MSAqIDAuMzMpICsgKHRlc3QyICogMC4zMykgKyAoYXNzaWdubWVudCAqIDAuMzQpOwp9CgovLyBGaW5hbCBNYXJrCmludCBGaW5hbE1hcmsoaW50IGZ1bGxQZXJpb2RNYXJrLCBpbnQgZXhhbSkgewogICAgcmV0dXJuIChmdWxsUGVyaW9kTWFyayAqIDAuNCkgKyAoZXhhbSAqIDAuNik7Cn0KCgpzdHJpbmcgR3JhZGUoaW50IGZ1bGxQZXJpb2RNYXJrLCBpbnQgRmluYWxNYXJrKSB7CiAgICBpZiAoZnVsbFBlcmlvZE1hcmsgJmd0Oz0gNDAgJmFtcDsmYW1wOyBGaW5hbE1hcmsgJmd0Oz0gNTApIHsKICAgICAgICByZXR1cm4gJnF1b3Q7UGFzcyZxdW90OzsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuICZxdW90O0ZhaWwmcXVvdDs7CiAgICB9Cn0KCmludCBtYWluKCkgewoKICAgIGludCBudW1iZXJPZlN0dWRlbnRzOwogICAgY291dCAmbHQ7Jmx0OyAmcXVvdDtQbGVhc2UgZW50ZXIgdGhlIG51bWJlciBvZiBzdHVkZW50czogJnF1b3Q7OwogICAgY2luICZndDsmZ3Q7IG51bWJlck9mU3R1ZGVudHM7CiAgICBzdHJpbmcgTmFtZVtudW1iZXJPZlN0dWRlbnRzXSwgU3VybmFtZVtudW1iZXJPZlN0dWRlbnRzXTsKICAgIGludCB0ZXN0MVtudW1iZXJPZlN0dWRlbnRzXSwgdGVzdDJbbnVtYmVyT2ZTdHVkZW50c10sIGFzc2lnbm1lbnRbbnVtYmVyT2ZTdHVkZW50c10sIGV4YW1bbnVtYmVyT2ZTdHVkZW50c107CgogICAgZm9yIChpbnQgeCA9IDA7IHggJmx0OyBudW1iZXJPZlN0dWRlbnRzOyB4KyspIHsKCiAgICAgICAgY291dCAmbHQ7Jmx0OyAmcXVvdDtQbGVhc2UgZW50ZXIgc3R1ZGVudCBuYW1lOiAmcXVvdDs7CiAgICAgICAgY2luICZndDsmZ3Q7IE5hbWVbeF07CiAgICAgICAgY291dCAmbHQ7Jmx0OyAmcXVvdDtQbGVhc2UgZW50ZXIgc3R1ZGVudCBzdXJuYW1lOiAmcXVvdDs7CiAgICAgICAgY2luICZndDsmZ3Q7IFN1cm5hbWVbeF07CiAgICAgICAgY291dCAmbHQ7Jmx0OyAmcXVvdDtQbGVhc2UgZW50ZXIgc3R1ZGVudCB0ZXN0IDEgbWFyazogJnF1b3Q7OwogICAgICAgIGNpbiAmZ3Q7Jmd0OyB0ZXN0MVt4XTsKICAgICAgICBjb3V0ICZsdDsmbHQ7ICZxdW90O1BsZWFzZSBlbnRlciBzdHVkZW50IHRlc3QgMiBtYXJrOiAmcXVvdDs7CiAgICAgICAgY2luICZndDsmZ3Q7IHRlc3QyW3hdOwogICAgICAgIGNvdXQgJmx0OyZsdDsgJnF1b3Q7UGxlYXNlIGVudGVyIHN0dWRlbnQgYXNzaWdubWVudCBtYXJrOiAmcXVvdDs7CiAgICAgICAgY2luICZndDsmZ3Q7IGFzc2lnbm1lbnRbeF07CiAgICAgICAgY291dCAmbHQ7Jmx0OyAmcXVvdDtQbGVhc2UgZW50ZXIgc3R1ZGVudCBleGFtIG1hcms6ICZxdW90OzsKICAgICAgICBjaW4gJmd0OyZndDsgZXhhbVt4XTsKICAgICAgICBjb3V0ICZsdDsmbHQ7IGVuZGw7CiAgICB9CiAgICAvLyBSZXN1bHQKICAgIGNvdXQgJmx0OyZsdDsgc2V0dygxMCkgJmx0OyZsdDsgJnF1b3Q7TmFtZSZxdW90OyAmbHQ7Jmx0OyBzZXR3KDEwKSAmbHQ7Jmx0OyAmcXVvdDtTdXJuYW1lJnF1b3Q7ICZsdDsmbHQ7IHNldHcoMTUpICZsdDsmbHQ7ICZxdW90O1BlcmlvZCBNYXJrJnF1b3Q7ICZsdDsmbHQ7IHNldHcoMTApICZsdDsmbHQ7ICZxdW90O0ZpbmFsIE1hcmsmcXVvdDsgJmx0OyZsdDsgc2V0dygxMCkgJmx0OyZsdDsgJnF1b3Q7UGFzcyBvciBGYWlsJnF1b3Q7ICZsdDsmbHQ7IGVuZGw7CiAgICBjb3V0ICZsdDsmbHQ7ICZxdW90Oy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0mcXVvdDsgJmx0OyZsdDsgZW5kbDsKICAgIGZvciAoaW50IHkgPSAwOyB5ICZsdDsgbnVtYmVyT2ZTdHVkZW50czsgeSsrKSB7CiAgICAgICAgaW50IHBlcmlvZE1hcmsgPSBGdWxsUGVyaW9kTWFyayh0ZXN0MVt5XSwgdGVzdDJbeV0sIGFzc2lnbm1lbnRbeV0pOwogICAgICAgIGludCBmaW5hbE1hcmsgPSBGaW5hbE1hcmsocGVyaW9kTWFyaywgZXhhbVt5XSk7CiAgICAgICAgc3RyaW5nIHN0dWRlbnRSZXN1bHQgPSBHcmFkZUNoZWNrKHBlcmlvZE1hcmssIGZpbmFsTWFyayk7CiAgICAgICAgY291dCAmbHQ7Jmx0OyBzZXR3KDEwKSAmbHQ7Jmx0OyBOYW1lW3ldICZsdDsmbHQ7IHNldHcoMTApICZsdDsmbHQ7IFN1cm5hbWVbeV0gJmx0OyZsdDsgc2V0dygxMCkgJmx0OyZsdDsgcGVyaW9kTWFyayAmbHQ7Jmx0OyBzZXR3KDEwKSAmbHQ7Jmx0OyBmaW5hbE1hcmsgJmx0OyZsdDsgc2V0dygxMCkgJmx0OyZsdDsgc3R1ZGVudFJlc3VsdCAmbHQ7Jmx0OyBlbmRsOwogICAgfQogICAgcmV0dXJuIDA7Cn0=
#include <iostream>
#include <iomanip>
using namespace std;
// Full Period Mark
int FullPeriodMark(int test1, int test2, int assignment) {
return (test1 * 0.33) + (test2 * 0.33) + (assignment * 0.34);
}
// Final Mark
int FinalMark(int fullPeriodMark, int exam) {
return (fullPeriodMark * 0.4) + (exam * 0.6);
}
string Grade(int fullPeriodMark, int FinalMark) {
if (fullPeriodMark >= 40 && FinalMark >= 50) {
return "Pass";
} else {
return "Fail";
}
}
int main() {
int numberOfStudents;
cout << "Please enter the number of students: ";
cin >> numberOfStudents;
string Name[numberOfStudents], Surname[numberOfStudents];
int test1[numberOfStudents], test2[numberOfStudents], assignment[numberOfStudents], exam[numberOfStudents];
for (int x = 0; x < numberOfStudents; x++) {
cout << "Please enter student name: ";
cin >> Name[x];
cout << "Please enter student surname: ";
cin >> Surname[x];
cout << "Please enter student test 1 mark: ";
cin >> test1[x];
cout << "Please enter student test 2 mark: ";
cin >> test2[x];
cout << "Please enter student assignment mark: ";
cin >> assignment[x];
cout << "Please enter student exam mark: ";
cin >> exam[x];
cout << endl;
}
// Result
cout << setw(10) << "Name" << setw(10) << "Surname" << setw(15) << "Period Mark" << setw(10) << "Final Mark" << setw(10) << "Pass or Fail" << endl;
cout << "-------------------------------------------------------------------------" << endl;
for (int y = 0; y < numberOfStudents; y++) {
int periodMark = FullPeriodMark(test1[y], test2[y], assignment[y]);
int finalMark = FinalMark(periodMark, exam[y]);
string studentResult = GradeCheck(periodMark, finalMark);
cout << setw(10) << Name[y] << setw(10) << Surname[y] << setw(10) << periodMark << setw(10) << finalMark << setw(10) << studentResult << endl;
}
return 0;
}