Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 24.06.2010, 18:28   #1
revaldo666
Форумчанин
 
Регистрация: 24.06.2010
Сообщений: 251
По умолчанию Visual C++. БД. справочник по совренным моделям сканеров

Народ помогите пожалуйста...на завтра курсовик надо сделать...с кодом реально неуспеваю...
там вродебы как нечего сложного...
Составить программу справочник по совреенным моделям сканеров...
тоисть банальная база данных
возможность вводить в программе значения и потом записывать эти значения в некий файл...
в программе должно присуцтвовать производитель, модель, цена, наличие на складе.
Заранее благодарен.
И если несложно ещё скиньте скриншот работающей программы...



Вот наработка....нужно переделать ...
Код:
#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <iomanip.h>

void outputLine(int k1, char* p1,char* p2,char* p3,char* p4,char* p5,char* p6)
{
 cout<<setiosflags(ios::left)<<setw(5)<<k1<<setw(10)<<p1<<setw(10)<<p2<<setw(20)<<p3
	                                      <<setw(10)<<p4<<setw(10)<<p5<<setw(10)<<p6
	 <<endl;
};

void showbase()
{
 int k; k=0;
 ifstream inSourceFile("1.txt",ios::in | ios::out | ios::app);
 char type[10],firm[20],model[20],diaganal[4],friquency[4],price[9];	

 cout<<setiosflags(ios::left)<<setw(5)<<"Num"<<setw(10)<<"Type"<<setw(10)<<"Firm"<<setw(20)<<"Model"
	 <<setw(10)<<"Diaganal"<<setw(10)<<"Friquency"<<setw(10)<<"Price"<<endl<<endl;

 while(inSourceFile>>type>>firm>>model>>diaganal>>friquency>>price){k++;outputLine(k,type,firm,model,diaganal,friquency,price);};
};

void find(char c, char tpar[20])
{
 int k; k=0;
 system("cls"); 
 printf("Results of searching:\n\n");
 ifstream inSourceFile("1.txt",ios::in | ios::out | ios::app);
 char type[10],firm[20],model[20],diaganal[4],friquency[4],price[9];	

 cout<<setiosflags(ios::left)<<setw(5)<<"Num"<<setw(10)<<"Type"<<setw(10)<<"Firm"<<setw(20)<<"Model"
	 <<setw(10)<<"Diaganal"<<setw(10)<<"Friquency"<<setw(10)<<"Price"<<endl<<endl;

 while(inSourceFile>>type>>firm>>model>>diaganal>>friquency>>price)
 {
  k++; 

  switch(c)
  {
  case '1': if(!strcmp(tpar,type))outputLine(k,type,firm,model,diaganal,friquency,price); break;
  case '2': if(!strcmp(tpar,firm))outputLine(k,type,firm,model,diaganal,friquency,price); break;
  case '3': if(!strcmp(tpar,model))outputLine(k,type,firm,model,diaganal,friquency,price); break;
  case '4': if(!strcmp(tpar,diaganal))outputLine(k,type,firm,model,diaganal,friquency,price); break;
  case '5': if(!strcmp(tpar,friquency))outputLine(k,type,firm,model,diaganal,friquency,price); break;
  case '6': if(!strcmp(tpar,price))outputLine(k,type,firm,model,diaganal,friquency,price); break;
  };
  
 };
 printf("\nPress any key to show main menu..."); getch();
};

void showrecord(int k2)
{
 int k; k=0;
 ifstream inSourceFile("1.txt",ios::in);
 char type[10],firm[20],model[20],diaganal[4],friquency[4],price[9];	

 cout<<setiosflags(ios::left)<<setw(5)<<"Num"<<setw(10)<<"Type"<<setw(10)<<"Firm"<<setw(20)<<"Model"
	 <<setw(10)<<"Diaganal"<<setw(10)<<"Friquency"<<setw(10)<<"Price"<<endl;

 while(inSourceFile>>type>>firm>>model>>diaganal>>friquency>>price){k++;if(k==k2)outputLine(k,type,firm,model,diaganal,friquency,price);};
};

void editline(int k3, char* p1,char* p2,char* p3,char* p4,char* p5,char* p6)
{
 int k; k=0;
 char type[10],firm[20],model[20],diaganal[4],friquency[4],price[9];
 
 fstream SourceFile("1.txt",ios::in);
 fstream newfile("tmp.txt",ios::out);

 while(SourceFile>>type>>firm>>model>>diaganal>>friquency>>price){k++;
 if(k!=k3)newfile<<type<<" "<<firm<<" "<<model<<" "<<diaganal<<" "<<friquency<<" "<<price<<"\n";
 else{if(strcmp(p1,"delete"))newfile<<p1<<" "<<p2<<" "<<p3<<" "<<p4<<" "<<p5<<" "<<p6<<"\n";};}; 
 if(k<k3)newfile<<p1<<" "<<p2<<" "<<p3<<" "<<p4<<" "<<p5<<" "<<p6<<"\n";

Последний раз редактировалось revaldo666; 24.06.2010 в 18:51.
revaldo666 вне форума
Старый 24.06.2010, 18:51   #2
revaldo666
Форумчанин
 
Регистрация: 24.06.2010
Сообщений: 251
По умолчанию

Продолжение
Код:
 SourceFile.close(); newfile.close();
 DeleteFile("1.txt");
 rename("tmp.txt","1.txt");
};

void ed(int n)
{
 char r1[20],r2[20],r3[20],r4[20],r5[20],r6[20];
 char *t,*f,*mod,*dia,*fri,*pri;
 int mm;
 
 t=f=mod=dia=fri=pri="<none>";					 
 mm=1;
 while(mm<8){
 system("cls");
 if(!strcmp(t,"delete"))break;
 printf("Original record:\n"); showrecord(n);
 printf("\n\nNew record:\n");					  					  
 cout<<setiosflags(ios::left)<<setw(5)<<"Num"<<setw(10)<<"Type"<<setw(10)<<"Firm"<<setw(20)<<"Model"
     <<setw(10)<<"Diaganal"<<setw(10)<<"Friquency"<<setw(10)<<"Price"<<endl;
 outputLine(n,t,f,mod,dia,fri,pri);
 switch(mm)
 {
  case 1: printf("\nFor clear this record write 'delete'.\nNew type:"); cin>>r1; t=r1; if(!strcmp(r1,"exit"))return; break;
  case 2: printf("\nNew firm:"); cin>>r2; f=r2; if(!strcmp(r2,"exit"))return; break;
  case 3: printf("\nNew model:"); cin>>r3; mod=r3; if(!strcmp(r3,"exit"))return; break;
  case 4: printf("\nNew diaganal:"); cin>>r4; dia=r4; if(!strcmp(r4,"exit"))return; break;
  case 5: printf("\nNew friquency:"); cin>>r5; fri=r5; if(!strcmp(r5,"exit"))return; break;
  case 6: printf("\nNew price:"); cin>>r6; pri=r6; if(!strcmp(r6,"exit"))return; break;
  case 7: editline(n,t,f,mod,dia,fri,pri); printf("\nNew line saved.\nPress any key to continue..."); break;
 };	
 mm++; 
 };			         
 if(!strcmp(t,"delete")){editline(n,t,f,mod,dia,fri,pri); printf("Line deleted.\nPress any key to continue...");}
 getch();
};

void main()
{
 char c1,c2,p;
 char par[20];
 int e,mm,i,n;
  
 e=0;

 while(e==0){

 system("cls");

 
 printf("TV BASE\n\nSelect operation:\n\n1. Show base\n2. Find monitor\n3. Base redactor\n4. Exit\n\nEnter your choice: ");
 
 c1='0';
 while((c1<'1')||(c1>'4'))c1=getch(); 
 
 system("cls");
 
 switch(c1)
 {
 case '1': showbase(); printf("\nPress any key to show main menu..."); getch(); break;
 case '2': printf("Find monitor:\n\n1. By type\n2. By firm\n3. By model\n4. By diaganal\n5. By friquency\n6. By price\n7. Exit to main menu\n\nEnter your choice: ");
	       p='0'; 
		   while((p<'1')||(p>'7'))p=getch(); printf("%c",p);
		   switch(p)
		   {
           case '1': printf("\nFind string: "); cin>>par; find(p,par); break;
           case '2': printf("\nFind string: "); cin>>par; find(p,par); break;
           case '3': printf("\nFind string: "); cin>>par; find(p,par); break;
           case '4': printf("\nFind string: "); cin>>par; find(p,par); break;
           case '5': printf("\nFind string: "); cin>>par; find(p,par); break;
           case '6': printf("\nFind string: "); cin>>par; find(p,par); break;
		   };
	       break;
 case '3': printf("Base redactor:\n\n1. Editing on number\n2. Easy editing\n3. Exit to main menu\n\nEnter your choice: ");
	       p='0';
           while((p<'1')||(p>'3'))p=getch(); printf("%c",p);
		   switch(p)
		   { 
           case '1': printf("\nEnter record number: "); cin>>n; ed(n); break;
           case '2': mm=1; c2=72; while(c2!=27){
			         c2=72; mm++; while((c2!=13)&&(c2!=27))
					 {
					  switch(c2)
					  {
					   case 72: if(mm>1)
								{
									mm--;
									system("cls");
									printf("Keys [UP] and [DOWN] for navigate.\nSelect record for editing:\n\n");
									showrecord(mm);
									printf("\nPress [ESC] to exit or [ENTER] to choice...");
								};  break;
					   case 80: mm++;
									system("cls");
									printf("Keys [UP] and [DOWN] for navigate.\nSelect record for editing:\n\n");
									showrecord(mm);
									printf("\nPress [ESC] to exit or [ENTER] to choice...");
						            break;					   
					  };			          
					  c2=getch();
					 }; if(c2==13)ed(mm);}; break;           
           }; break;
 case '4': e=1; break; 
 };
 }; 
}
Это база мониторов надо под принтеры переделать

Последний раз редактировалось revaldo666; 24.06.2010 в 18:59.
revaldo666 вне форума
Старый 24.06.2010, 21:52   #3
revaldo666
Форумчанин
 
Регистрация: 24.06.2010
Сообщений: 251
По умолчанию

Отзовитесь, хоть кто нибудь может помоч?
revaldo666 вне форума
Старый 25.06.2010, 08:14   #4
D_bl_M
Пользователь
 
Регистрация: 31.10.2007
Сообщений: 28
По умолчанию

тут скорее всего такое не прокатит ...
вот правила http://programmersforum.ru/showthread.php?t=34061
тебя могут только подтолкнуть чтоб ты решил сам, а не решить за тебя, так что ... и я тебе хочу сказать на других форумах то же самое, никто на шару решать не будет и относятся к таким людям не очень приветливо, не знаю почему, другое дело если ты разбираешь код совместно, вникаешь, пробуешь, а так это просто как говорится БОЯН

Последний раз редактировалось D_bl_M; 25.06.2010 в 08:16.
D_bl_M вне форума
Старый 25.06.2010, 09:13   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Если еще актуально могу предложить такое:
Код:
// БД.cpp : Defines the entry point for the console application.
//http://www.programmersforum.ru/showthread.php?t=105501

#include "stdafx.h"
#include <locale.h>
struct rec{
 char Производитель[255], Модель[255];
 float Цена;
} CurRec;
FILE* БД;
// Пишем запись
void wri(rec arec){
	fwrite(&arec,sizeof(rec),1,БД);
	return;
}
// Читаем запись по ее номеру
void rea(int RecNum){
	fseek(БД,sizeof(rec)*(RecNum-1),SEEK_SET);
	fread(&CurRec,sizeof(rec),1,БД);
	return;
}

int _tmain(int argc, _TCHAR* argv[])
{
	БД=fopen("c:\\temp\\BD","w+");
	setlocale (LC_ALL,".1251"); 
	for(int i=0;i<3;i++){
		rec r;
		printf("\nПроизводитель:\t");scanf("%s",&r.Производитель);
		printf("Модель:\t");scanf("%s",&r.Модель);
		printf("Цена:\t");scanf("%s",&r.Цена);
		wri(r);
	}
	fclose(БД);
	БД=fopen("c:\\temp\\BD","r");

	int rn;
	printf("\nВыберите номер записи:\t");scanf("%d",&rn);
	rea(rn);
	printf("\n%s\n%s\n%5.2f",CurRec.Модель,CurRec.Производитель,CurRec.Цена);
	fclose(БД);
	getchar();getchar();
	return 0;
}
I'm learning to live...
Stilet вне форума
Старый 25.06.2010, 12:03   #6
revaldo666
Форумчанин
 
Регистрация: 24.06.2010
Сообщений: 251
По умолчанию

Спасибо большое.
Выручил.
Думаю прокатит...

Цитата:
Сообщение от D_bl_M Посмотреть сообщение
тут скорее всего такое не прокатит ...
вот правила http://programmersforum.ru/showthread.php?t=34061
тебя могут только подтолкнуть чтоб ты решил сам, а не решить за тебя, так что ... и я тебе хочу сказать на других форумах то же самое, никто на шару решать не будет и относятся к таким людям не очень приветливо, не знаю почему, другое дело если ты разбираешь код совместно, вникаешь, пробуешь, а так это просто как говорится БОЯН
Яж говорю просто реально неуспевал...
там просто в коде изменения надо было сделать...

Последний раз редактировалось Stilet; 25.06.2010 в 12:29.
revaldo666 вне форума
Старый 25.06.2010, 12:32   #7
revaldo666
Форумчанин
 
Регистрация: 24.06.2010
Сообщений: 251
По умолчанию

Тему можно закрыть
revaldo666 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Visual C++, Visual C#, Visual basic .Net, или Microsoft.Net Что лучше? _PROGRAMM_ Общие вопросы .NET 14 10.10.2012 19:24
Телефонный справочник VarVara Помощь студентам 7 04.05.2011 17:20
Как создать справочник в Visual C++ 3dgraph Общие вопросы C/C++ 0 15.11.2008 18:58
Вопросы по моделям Манжосов Денис :) Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 26.05.2008 22:13
справочник bill Помощь студентам 3 22.05.2007 16:03