Click here to Skip to main content
15,897,891 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: activate control Pin
Dominik Reichl8-Jun-03 22:00
Dominik Reichl8-Jun-03 22:00 
GeneralRe: activate control Pin
aguest9-Jun-03 5:28
aguest9-Jun-03 5:28 
GeneralRe: activate control Pin
Dominik Reichl9-Jun-03 6:47
Dominik Reichl9-Jun-03 6:47 
GeneralRe: activate control Pin
aguest9-Jun-03 9:12
aguest9-Jun-03 9:12 
QuestionError on AutoRun ???? Pin
_skidrow_vn_8-Jun-03 10:45
_skidrow_vn_8-Jun-03 10:45 
QuestionCan someone help me debug this? Pin
Anonymous8-Jun-03 10:40
Anonymous8-Jun-03 10:40 
AnswerRe: Can someone help me debug this? Pin
ZoogieZork8-Jun-03 11:19
ZoogieZork8-Jun-03 11:19 
GeneralRe: Can someone help me debug this? Pin
Anonymous8-Jun-03 11:47
Anonymous8-Jun-03 11:47 
<br />
#ifndef _STUDENT_H<br />
#define _STUDENT_H<br />
<br />
#include <iostream><br />
#include <string><br />
#include "vector.h"<br />
<br />
using namespace std;<br />
<br />
<br />
class Student<br />
{<br />
public:<br />
	Student();<br />
	string GetName();<br />
	void SetInfo(string firstName, string lastName, int SID, int Grade, string Course[], int GradeArr[][6], int i);<br />
	void GetGPA();<br />
	void GetGrade();<br />
	void GetCourseList();<br />
	template <typename T><br />
	void Quicksort(T a[], int n); <br />
	template <typename T><br />
	void Quick(T a[], int l, int r);<br />
	template <typename T><br />
	void print(T a[], int n);<br />
<br />
private:<br />
	string sFirstName;<br />
	string sLastName;<br />
	int iSID;<br />
	int iGrade;<br />
	int iGradeArr [2][6];<br />
	string sCourse [6];<br />
	int numCourse;<br />
};<br />
<br />
#endif	// _STUDENT_H not defined<br />
<br />
<br />
##########################<br />
#include "student.h"<br />
#include <iostream><br />
#include <string><br />
<br />
using namespace std;<br />
<br />
<br />
<br />
Student::Student()<br />
{<br />
<br />
}<br />
<br />
void Student::SetInfo(string firstName, string lastName, int SID, int Grade, string Course[], int GradeArr[][6], int i)<br />
{<br />
	for (int k=0; k< i; k++)<br />
	{<br />
		sCourse[k]=Course[k];<br />
	}<br />
<br />
	sFirstName = firstName;<br />
	sLastName  = lastName;<br />
	for (k=0; k< i; k++)<br />
	{<br />
		iGradeArr[0][k]= GradeArr[0][k];<br />
		iGradeArr[1][k]= GradeArr[1][k];<br />
	}<br />
	iSID= SID; <br />
	iGrade= Grade;<br />
	numCourse=i;<br />
}<br />
<br />
string Student::GetName()<br />
{<br />
	return sFirstName +" "+ sLastName;<br />
}<br />
<br />
void Student::GetGrade()<br />
{<br />
	cout<< iGrade<< " "<< iSID<< endl;<br />
	<br />
}<br />
<br />
void  Student::GetGPA()<br />
{<br />
	double iGPA= 0;<br />
<br />
	for(int sem1=0; sem1< 2; sem1++)<br />
	{<br />
		for(int grades=0; grades< numCourse; grades++)<br />
		{<br />
			if (iGradeArr[sem1][grades] >100)<br />
			{<br />
				cout<< "A++";<br />
				iGPA+=5;<br />
			}<br />
			else if (iGradeArr[sem1][grades] >= 90)<br />
			{<br />
				cout<< 'A';<br />
				iGPA+=4;<br />
			}<br />
			else if (iGradeArr[sem1][grades] >= 80)<br />
			{<br />
				cout<< 'B';<br />
				iGPA += 3;<br />
			}<br />
			else if (iGradeArr[sem1][grades] >= 70)<br />
			{<br />
				cout<< 'C';<br />
				iGPA += 2;<br />
			}<br />
			else if (iGradeArr[sem1][grades] >= 60)		<br />
			{<br />
				cout<< 'D';<br />
				iGPA += 1;<br />
			}<br />
			else if (iGradeArr[sem1][grades] < 60)<br />
			{<br />
				cout<< 'F';<br />
				iGPA +=0;<br />
			}<br />
<br />
		}<br />
	}<br />
	cout<< endl;<br />
	cout<< iGPA<< endl;<br />
				int totalcredits= 0;<br />
			totalcredits +=iGPA;<br />
			cout<< iGPA/(numCourse+1);<br />
}<br />
<br />
template <typename T><br />
void Student::GetCourseList()<br />
{<br />
	Quicksort(sCourse, numCourse);<br />
}<br />
<br />
template <typename T><br />
T Quicksort(T a[], int n)<br />
{ <br />
<br />
	Quick(a, 0, n-1);<br />
<br />
} <br />
<br />
<br />
template <typename T><br />
void Student:: Quick(T a[], int l, int r)<br />
<br />
{ <br />
<br />
    if (l >= r) return;<br />
    int i, j;<br />
    int num_left, num_right;<br />
    T pivot, temp;<br />
<br />
    while (l < r)<br />
    {<br />
        i = l;<br />
        j = r + 1;<br />
        pivot = a[l];<br />
        while (true)<br />
        {<br />
            do<br />
            {<br />
              i = i + 1;<br />
            }<br />
            while (a[i] < pivot);<br />
            <br />
            do<br />
            {<br />
                j = j - 1;<br />
            }<br />
            while (a[j] > pivot);<br />
            <br />
            if (i >= j) break;<br />
            temp = a[i];<br />
            a[i] = a[j];<br />
            a[j] = temp;<br />
        }<br />
        <br />
        a[l] = a[j];<br />
        a[j] = pivot;<br />
        <br />
        num_left  = (j-1) - l;<br />
        num_right = r - (j+1);<br />
        <br />
        if (num_left <= num_right)<br />
        {<br />
            Quicksort(a, l, j-1);<br />
            l = j+1;<br />
        }<br />
        else<br />
        {<br />
            Quicksort(a, j+1, r);<br />
            r = j-1;<br />
        }<br />
    }<br />
<br />
} <br />
<br />
template <typename T><br />
void Student:: print(T a[], int n)<br />
<br />
<br />
{ <br />
    int i;<br />
<br />
    for (i = 0; i < n; i++)<br />
    {<br />
        cout << a[i] << " ";<br />
    }<br />
    cout << endl;<br />
<br />
<br />
} <br />
##############################<br />
#include <iostream><br />
#include <fstream><br />
#include "vector.h"<br />
#include "student.h"<br />
<br />
using namespace std;<br />
<br />
int main()<br />
{<br />
	Vector<Student> Class(6);<br />
<br />
	string filename = "student.txt";<br />
	ifstream input(filename.c_str());<br />
	if (input.fail())<br />
	{   cout << "could not open " << filename << " for reading" << endl;<br />
        exit(1);<br />
    }<br />
<br />
	string Course[6], firstName, lastName; <br />
	int SID, Grade, GradeArr[2][6];<br />
<br />
	int k=0, i=0;<br />
	while (!input.eof())<br />
	{<br />
		input>> firstName>> lastName>> SID>> Grade;<br />
		input>> Course[i];<br />
<br />
		while(Course[i] != ";")<br />
		{<br />
			input>> GradeArr[0][i];<br />
			cout<< GradeArr[0][i];<br />
			input>> GradeArr[1][i];<br />
			cout<< GradeArr[1][i];<br />
			i++;<br />
			input>> Course[i];<br />
<br />
		}<br />
		Class[k] = Student();<br />
		Class[k].SetInfo(firstName, lastName, SID, Grade, Course, GradeArr, i);<br />
		k++;<br />
	}<br />
	cout<< Class[0].GetName()<< endl;<br />
	Class[0].GetGrade();<br />
	Class[0].GetCourseList();<br />
	Class[0].GetGPA();<br />
	<br />
<br />
	return 0;<br />
}<br />
#################################<br />
<br />
#ifndef _VECTOR_H<br />
#define _VECTOR_H<br />
 <br />
#include <cstdlib><br />
#include <cassert><br />
#include <iostream><br />
using namespace std;<br />
 <br />
// templated vector class, partially based on Budd,<br />
//                         Classic Data Structures in C++<br />
// written 11/5/93, modified 3/23/94<br />
// changed on 3/9/95 to make all methods inline (defined in class decl)<br />
//<br />
// for a vector of Items use Vector<Item>, e.g., Vector <int> intvector;<br />
//<br />
//                           note: Item must have a default constructor<br />
//<br />
// constructors:<br />
//   Vector()                   -- default, vector of size 0 (no entries)<br />
//   Vector(int size)           -- vector with size entries<br />
//   Vector(int size,<br />
//          Item fillValue)     -- vector w/ size entries all == fillValue<br />
//   Vector(const Vector & vec) -- copy constructor<br />
//<br />
//   int Length()                -- returns size of vector (capacity)<br />
//   void SetSize(int newSize)   -- resizes the vector to newSize elements<br />
//                                  (can result in losing elements if<br />
//                                   new size < old size)<br />
//   void resize(int newSize)     -- synonym for SetSize<br />
//<br />
//   void Fill(Item fillValue)    -- set all entries == fillValue<br />
//<br />
//   operator =                   -- assignment operator works properly<br />
//   operator []                  -- indexes both const and non-const vectors<br />
//<br />
//<br />
//  examples of use:<br />
//             Vector<double> dlist(100);       // a list of 100 doubles<br />
//             Vector<double> dzlist(100,0.0);  // initialized to 0.0<br />
//<br />
//             Vector<String> slist(300);       // 300 strings<br />
//<br />
//             Vector<int> ilist;               // has room for 0 ints<br />
 <br />
template <class Item> class Vector<br />
{<br />
  public:<br />
    Vector()                               // default constructor 0 elts<br />
    // postcondition: vector of zero items constructed<br />
    {<br />
        myLength = 0; myList = 0;<br />
    }<br />
 <br />
    Vector(int size)                       // specify size of vector<br />
    // postcondition: vector of size items constructed<br />
    {<br />
        myLength = size;<br />
        myList = new Item [size];<br />
        assert(myList != 0);<br />
    }<br />
 <br />
    Vector(int size, Item fillValue)      // specify size and fill value<br />
    // postcondition: vector of size items, each initialized to fillValue<br />
    //                constructed<br />
    {<br />
        myLength = size;<br />
        myList = new Item [size];<br />
        assert(myList != 0);<br />
        for(int k = 0; k < size; k++){<br />
            myList[k] = fillValue;<br />
        }<br />
    }<br />
 <br />
    Vector(const Vector<Item> & vec)             // copy constructor<br />
    // precondition: Item supports assignment<br />
    // postcondition: return copy of vec<br />
    {<br />
        // allocate storage<br />
 <br />
        myList = new Item [myLength = vec.myLength];<br />
        assert(myList != 0);<br />
 <br />
        // copy elements<br />
        for(int k = 0; k < vec.myLength; k++)<br />
        {<br />
            myList[k] = vec.myList[k];<br />
        }<br />
    }<br />
 <br />
    ~Vector ()                            // free new'd storage<br />
     // postcondition: dynamically allocated storage freed<br />
     {<br />
         delete [] myList;<br />
         myList = 0;<br />
         myLength = 0;               // leave in "empty" state<br />
     }<br />
    Vector & operator = (const Vector<Item> & vec) // overload assignment<br />
    // precondition: Item supports assignment<br />
    // postcondition: self is assigned vec<br />
    {<br />
        if (this != &vec)      // don't assign to self!<br />
        {<br />
            delete [] myList;            // out with old list, in with new<br />
            myList = new Item [myLength = vec.myLength];<br />
            assert(myList != 0);<br />
 <br />
            // copy vec<br />
            myLength = vec.myLength;<br />
            for(int k=0; k < myLength; k++)<br />
            {<br />
                myList[k] = vec.myList[k];<br />
            }<br />
        }<br />
        return *this;<br />
    }<br />
 <br />
    int Length() const                    // capacity of vector<br />
    {<br />
        return myLength;<br />
    }<br />
    int length() const<br />
    {<br />
        return Length();<br />
    }<br />
 <br />
    void Fill(Item fillValue)<br />
    // postcondition: all entries == fillvalue<br />
    {<br />
        int k;<br />
        for(k=0; k < myLength; k++)<br />
        {<br />
            myList[k] = fillValue;<br />
        }<br />
    }<br />
 <br />
    void SetSize(int newSize)             // change size dynamically<br />
    // precondition: vector has room for myLength entries<br />
    // postcondition: vector has room for newSize entries<br />
    //                the first myLength of which are copies of original<br />
    //                unless newSize < myLength, then truncated copy occurs<br />
    {<br />
        int numToCopy = newSize < myLength ? newSize : myLength;<br />
 <br />
        // allocate new storage<br />
        Item * newList = new Item[newSize];<br />
        assert(newList != 0);   // be sure storage allocated<br />
 <br />
        int k;<br />
        for(k=0; k < numToCopy;k++)<br />
        {<br />
            newList[k] = myList[k];<br />
        }<br />
 <br />
        delete [] myList;         // de-allocate old storage<br />
        myLength = newSize;<br />
        myList = newList;<br />
    }<br />
 <br />
    void resize(int newSize)<br />
    {<br />
        SetSize(newSize);<br />
    }<br />
 <br />
    Item & operator [] (int index)<br />
    // safe indexing, returning reference<br />
    // precondition: 0 <= index < myLength<br />
    // postcondition: return index-th item<br />
    // exception: aborts if index is out-of-bounds<br />
    {<br />
        if ((unsigned) index >= (unsigned)myLength || index < 0)<br />
        {<br />
            cerr << "Illegal vector index: " << index<br />
                 << " (max = " << myLength-1 << ")" << endl;<br />
            assert(index >= 0);<br />
            assert(index < myLength);<br />
        }<br />
 <br />
        return myList[index];<br />
    }<br />
 <br />
    const Item & operator [] (int index) const // const index<br />
    // safe indexing, returning const reference to avoid modification<br />
    // precondition: 0 <= index < myLength<br />
    // postcondition: return index-th item<br />
    // exception: aborts if index is out-of-bounds<br />
    {<br />
 <br />
        if ((unsigned) index >= (unsigned)myLength || index < 0)<br />
        {<br />
            cerr << "Illegal vector index: " << index<br />
                 << " (max = " << myLength << ")" << endl;<br />
            assert(index >= 0);<br />
            assert(index < myLength);<br />
        }<br />
 <br />
        return myList[index];<br />
    }<br />
 <br />
 <br />
  private:<br />
    Item * myList;   // the array of items<br />
    int myLength;   // # things in vector (array), 0,1,...,(myLength-1)<br />
};<br />
 <br />
#endif                          // _VECTOR_H not defined<br />
 <br />
<br />
<br />

GeneralRe: Can someone help me debug this? Pin
geo_m8-Jun-03 21:30
geo_m8-Jun-03 21:30 
GeneralXP Manifest Pin
Toni788-Jun-03 10:01
Toni788-Jun-03 10:01 
GeneralRe: XP Manifest Pin
Michael Dunn8-Jun-03 10:16
sitebuilderMichael Dunn8-Jun-03 10:16 
GeneralRe: XP Manifest Pin
Toni788-Jun-03 11:15
Toni788-Jun-03 11:15 
GeneralRe: XP Manifest Pin
Michael Dunn8-Jun-03 15:07
sitebuilderMichael Dunn8-Jun-03 15:07 
GeneralRe: XP Manifest Pin
Toni788-Jun-03 17:58
Toni788-Jun-03 17:58 
GeneralUsing Multiple Tables in an Access Database Pin
Anonymous8-Jun-03 5:03
Anonymous8-Jun-03 5:03 
GeneralRe: Using Multiple Tables in an Access Database Pin
Toni788-Jun-03 8:40
Toni788-Jun-03 8:40 
GeneralRe: Using Multiple Tables in an Access Database Pin
RichardGrimmer10-Jun-03 5:03
RichardGrimmer10-Jun-03 5:03 
GeneralDesktop Dancer Pin
dfsgdsfgdfg8-Jun-03 4:23
dfsgdsfgdfg8-Jun-03 4:23 
GeneralRe: Desktop Dancer Pin
Toni788-Jun-03 8:42
Toni788-Jun-03 8:42 
GeneralRe: Desktop Dancer Pin
ZoogieZork8-Jun-03 10:39
ZoogieZork8-Jun-03 10:39 
GeneralClipboard problem with CRichEdit Pin
Michael Pauli8-Jun-03 4:06
Michael Pauli8-Jun-03 4:06 
GeneralRe: Clipboard problem with CRichEdit Pin
Ryan Binns8-Jun-03 5:02
Ryan Binns8-Jun-03 5:02 
GeneralRe: Clipboard problem with CRichEdit Pin
Michael Pauli9-Jun-03 3:57
Michael Pauli9-Jun-03 3:57 
GeneralRe: Clipboard problem with CRichEdit Pin
Ryan Binns9-Jun-03 4:05
Ryan Binns9-Jun-03 4:05 
GeneralC++ GUI library question Pin
Member 2982688-Jun-03 2:43
Member 2982688-Jun-03 2:43 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.