برگزیده های پرشین تولز

نیاز به یک برنامه ساده در VC6 (فوری!)

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
سلام به دوستان، من کد یک برنامه ساده رو در VC6 میخوام. اگر امکان داره کمک کنید:

توضیح:
برنامه command line هست و از کلاس های پایه سی استفاده میکنه.
برنامه در ابتدا از طریق command line اسم یک فایل رو میگیره.
فرمت فایل ساده هست: جفت اعداد integer که اولی x و دومی y هست مثل:

2,3,4,3,5,6,4,5

برنامه x رو از کاربر سوال میکنه و در جواب y رو برمیگردونه.

همین! یک کلاس که این کارهارو بمنه.
تشکر، من به این سورس خیلی سریع احتیاج دارم. هرکس این رو کد کنه و یک مقدار گسترشش بده (اضافه کردن کد که اعداد رو بگیره و در یک فایل بریزه)، خوشحال میشم بهش هدیه ای بدم. :cool: فقط 24 ساعت وقت دارم!
 

MehdiC#

کاربر تازه وارد
تاریخ عضویت
2 نوامبر 2004
نوشته‌ها
55
لایک‌ها
0
محل سکونت
ابهر
سلام
اینهم برنامه ، با VC++ .NET کامپایل کردم ، اما داخلش کلا از توابع
C استفاده شده. (به احتمال 99 درصد با VC6 هم کامپایل میشه)
این برنامه فرض میکنه که اعداد به این صورت در فایل ذخیره شدن:
اول x بعد یه کاما و بعد هم y و بعد خط بعدی ، الی آخر
مثل
25,14
20,32
96,21
11,-8

و اگه x که کاربر وارد کرده موجود نباشه مقدار -1 رو برمی گردونه (که میشه
این عدد رو عوض کرد)

یه کلاس ایجاد کردم با نام ReadNumberFromFile که کلا دو تا متد داره :
void WriteNumbers(int x, int y);
int ReadY(int x);
که از اسمشون معلومه چیکار میکنن.
البته این برنامه خیلی ساده است و مکانیسم مواجهه با خطا در اون گنجونده نشده
(مثلا اگه یه خط خالی در فایل باشه یا بین کاما و عدد فاصله باشه ، برنامه crash میکنه.
دیگه ساعت 2:30 نصفه شبه و منم بیشتر از این وقت نداشتم ، امیدوارم به دردتون بخوره)

کد برنامه ، خود برنامه و یک فایل حاوی اعداد رو براتون قرار دادم.
(دانلودش كنين)
موفق باشید.
 

فایل های ضمیمه

  • archive.zip
    21.1 KB · نمایش ها: 29

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
به نقل از MehdiC# :
سلام
اینهم برنامه ، با VC++ .NET کامپایل کردم ، اما داخلش کلا از توابع
C استفاده شده. (به احتمال 99 درصد با VC6 هم کامپایل میشه)
این برنامه فرض میکنه که اعداد به این صورت در فایل ذخیره شدن:
اول x بعد یه کاما و بعد هم y و بعد خط بعدی ، الی آخر
مثل
25,14
20,32
96,21
11,-8

و اگه x که کاربر وارد کرده موجود نباشه مقدار -1 رو برمی گردونه (که میشه
این عدد رو عوض کرد)

یه کلاس ایجاد کردم با نام ReadNumberFromFile که کلا دو تا متد داره :
void WriteNumbers(int x, int y);
int ReadY(int x);
که از اسمشون معلومه چیکار میکنن.
البته این برنامه خیلی ساده است و مکانیسم مواجهه با خطا در اون گنجونده نشده
(مثلا اگه یه خط خالی در فایل باشه یا بین کاما و عدد فاصله باشه ، برنامه crash میکنه.
دیگه ساعت 2:30 نصفه شبه و منم بیشتر از این وقت نداشتم ، امیدوارم به دردتون بخوره)

کد برنامه ، خود برنامه و یک فایل حاوی اعداد رو براتون قرار دادم.
(دانلودش كنين)
موفق باشید.

تشكر... ولي نوشدارو بعد از مرگ سهراب بود :D خيلي متشكر.
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
threadclosed.gif
!!!
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
این سورس برنامه ای هست که میخواستم. یه جورایی نوشتمش! (دادم نوشتنش!) :blush: :D

کد:
// VC6.cpp : Defines the entry point for the console application.
//


#include "stdafx.h"
#include "windows.h"
#include "conio.h"

int Menu()
{
	printf("\nPress button to continue:\n");
	printf("1 - Input new array\n");
	printf("2 - Find Y by X\n");
	printf("3 - Find all X by Y\n");
	printf("4 - Load Pairs from file\n");
	printf("5 - Save Pairs to file\n");
	printf("6 - Print array here\n");
	printf("any key - Exit program\n");
	printf("\n");
	return getch();	
}

class MyClass{
private:
	int n;
	int x[100], y[100]; 
	char st[200];
public:
	MyClass() {n = 0;};
	void Input();
	void FindYByX();
	void FindXByY();
	void LoadFromFile();
	void SaveToFile();
	void Print();
};

void MyClass::Input()
{
	printf("\nInput count of pairs: ");
	scanf("%d", &n);
	for (int i=0; i<n; i++)
	{
		printf("Pair %d X: ", i+1);
		scanf("%d", &(x[i]));
		printf("Pair %d Y: ", i+1);
		scanf("%d", &(y[i]));
		printf("\n");
	}
}

void MyClass::FindYByX()
{
	int xx;
	printf("Input X: "); 
	scanf("%d", &xx);
	for (int i=0; i<n; i++)
		if (x[i] == xx) 
			printf("(%d,%d)", x[i], y[i]);
	st[0] = 0;
	printf("\nType filename to save (input 'q' to skip):\n");
	scanf("%s", st);
	if ((st[0] != 'q') || (st[1] != 0))
	{
		FILE *f = fopen(st,"w");
		fprintf(f, "%d\n", n);
		for (i=0; i<n; i++)
			if (x[i] == xx) 
				fprintf(f, "(%d,%d)", x[i], y[i]);
		fclose(f);
	}
}

void MyClass::FindXByY()
{
	int yy;
	printf("Input Y: "); 
	scanf("%d", &yy);
	for (int i=0; i<n; i++)
		if (y[i] == yy) 
			printf("(%d,%d)\n", x[i], y[i]);					
	st[0] = 0;
	printf("\nType filename to save (input 'q' to skip):\n");
	scanf("%s", st);
	if ((st[0] != 'q') || (st[1] != 0))
	{
		FILE *f = fopen(st,"w");
		fprintf(f, "%d\n", n);
		for (i=0; i<n; i++)
			if (y[i] == yy) 
				fprintf(f, "(%d,%d)\n", x[i], y[i]);	
		fclose(f);
	}
}

void MyClass::LoadFromFile()
{
	st[0] = 0;
	printf("\nType filename to load array from (input 'q' to skip):\n");
	scanf("%s", st);
	if ((st[0] != 'q') || (st[1] != 0))
	{
		FILE *f = fopen(st,"r");
		fscanf(f, "%d\n", &n);
		for (int i=0; i<n; i++)
			fscanf(f, "(%d,%d)\n", &(x[i]), &(y[i]));	
		fclose(f);
	}
}

void MyClass::SaveToFile()
{
	st[0] = 0;
	printf("\nType filename to save array to (input 'q' to skip):\n");
	scanf("%s", st);
	if ((st[0] != 'q') || (st[1] != 0))
	{
		FILE *f = fopen(st,"w");
		fprintf(f, "%d\n", n);
		for (int i=0; i<n; i++)
			fprintf(f, "(%d,%d)\n", x[i], y[i]);	
		fclose(f);
	}
}

void MyClass::Print()
{
	printf("\nPrinting array\n%d\n", n);
	for (int i=0; i<n; i++)
		printf("(%d,%d)\n", x[i], y[i]);	
	printf("-----------------\n");
	getch();
}


int main(int argc, char* argv[])
{
	MyClass Sample;

	ShowMenu:

	switch (Menu())
	{
		case '1':
			Sample.Input();
			goto ShowMenu;
		case '2':
			Sample.FindYByX();
			goto ShowMenu;
		case '3':
			Sample.FindXByY();
			goto ShowMenu;
		case '4':
			Sample.LoadFromFile();
			goto ShowMenu;
		case '5':
			Sample.SaveToFile();
			goto ShowMenu;
		case '6':
			Sample.Print();
			goto ShowMenu;
	}
	
	printf("\n\n\nDone.\nPress any key to close window...");
	getch();	

	return 0;
}
 
بالا